标签: sql-server

对 MS SQL Server 监控软件或服务的建议?

我有一个客户端,其 MS SQL Server 实例(2000 年、2005 年)分散在 20-30 个服务器上。我一直致力于让事情井井有条,并将定期审查数据库基础设施的健康状况、测试备份等。我们还计划在 2008 年之前获得尽可能多的这些数据库。

我知道像 New Relic for Linux 堆栈网络应用程序和数据库这样的服务,我今天通过 Google 偶然发现了 SQL Monitor 产品 (RedGate)。任何人都可以在服务或工具(您有经验的)方面提供一些指导,使我/我的客户能够监视和管理他们的 MS SQL 实例吗?

performance monitoring sql-server query-performance

8
推荐指数
2
解决办法
4412
查看次数

使用复合键识别行的指南

使用一组 4 列将一行标识为唯一的(一个是外键,其他三个是浮点数据类型)是一种好的做法(或者它会不会有任何不利影响)?我正在尝试构建一个表(链接 4 个键)将描述表中的唯一条目。我很好奇这是否是一个好的攻击计划,或者是否有更好的方法。

出于视觉目的,请绘制下表。我们有如下表组织的库存项目:([K]是主键的象征,线条是关系)

    Sheet_Class        Sheet_Type         Sheet_Size
    ===========        ==========         ==========
[K] Sheet_Class-.  [K] Sheet_Type--.  [K] Sheet_Size
                 '---- Sheet_Class  '---- Sheet_Type
                                          Length
                                          Width
                                          Thickness
Run Code Online (Sandbox Code Playgroud)

数据可能以下列方式呈现,但为简洁起见,我排除了引入链接列的可能性:

 Sheet_Class    Sheet_Type    Sheet_Size                        (Tables)
[Sheet_Class]  [Sheet_Type]  [Length], [Width], [Thickness]     (Column Values)
=============  ============  ==============================

Aluminum
               5052-H32
                             48, 96, 0.032
                             48, 96, 0.040
                             48, 96, 0.063

               6061-T6
                             60, 120,0.032
                             60, 120,0.040
                             60, 120,0.063

Steel
               1018-CRS
                             48, 96, 0.018
                             48, 96, 0.023
                             48, 96, 0.031
Run Code Online (Sandbox Code Playgroud)

就目前情况而言(并且我已经在上面的“架构”中显示),我对Sheet_Size表中的条目使用了一个简单的(自动递增)整数主键。但是,我想知道使用Sheet_TypeLengthWidth和 …

schema sql-server

8
推荐指数
2
解决办法
1474
查看次数

什么时候绝对需要程序查询?

我知道我们倾向于不惜一切代价避免在 SQL Server 中使用游标和循环,但是在哪些情况下您绝对需要过程查询,而基于集合的查询不会给您结果?

我了解两者之间的区别,我只是从未遇到过需要使用游标的情况。我想知道是否有这样的情况。

sql-server t-sql cursors

8
推荐指数
2
解决办法
624
查看次数

了解 SQL Server 权限

我正在 SQL Server Management Studio 中针对我的 SQL Server 2008 R2 Express Edition 实例。我试图了解权限是如何工作的。

我能看到的是(通过许多这些实体的属性)

  1. 我的服务器登录可以链接到数据库用户
  2. 我的数据库用户可以拥有一个或多个数据库角色
  3. 数据库角色之一是 db_datawriter,它拥有架构 db_datawriter

然而,在那一点上,小路变冷了。架构 db_datawriter 在其属性下有一个空白的权限页面。

什么精确定义了架构 db_datawriter 的权限是什么?

security sql-server sql-server-2008-r2

8
推荐指数
1
解决办法
2419
查看次数

有什么方法可以在 MongoDB 中有效地执行 DENSE_RANK 的等效操作吗?

SQL Server 和 Oracle 都有 DENSE_RANK 函数。有没有办法在 MongoDB 中做类似的事情而不必求助于 MapReduce?换句话说,假设您有一个像这样的 T-SQL select 子句:

SELECT DENSE_RANK() OVER(ORDER BY SomeField DESC) SomeRank
Run Code Online (Sandbox Code Playgroud)

在 MongoDB 中做同样事情的最佳方法是什么?

(注意:这是这里MongoDB 问题的重新发布。我希望从 DBA 那里得到更多反馈......)

nosql mongodb sql-server

8
推荐指数
2
解决办法
1143
查看次数

SQL Server:比起固定角色更喜欢自定义数据库角色的原因是什么?

这可能有点含糊,但我在思考 DBA 有多少使用固定的数据库角色来控制数据库的安全性。所以问题是,是否有理由支持自定义数据库角色而不是固定数据库角色(db_datareader 等)?

security sql-server

8
推荐指数
1
解决办法
255
查看次数

如何向存储过程提交项目列表以限制结果?

可能的重复:将
数组参数传递给存储过程

假设您想通过唯一标识符列表过滤结果,以便您的 SQL 语句读取:

WHERE CustomerID in (@CustomerIDs)
Run Code Online (Sandbox Code Playgroud)

这可能吗?

编辑:

为了澄清和回答尼克的问题,我想将值列表从 C# 传递到 SQL Server,并且能够执行类似于我上面发布的 SQL 的选择。由于存在大量数据,因此这比获取比需要的更多的数据并不得不搜索它更可取。

sql-server query stored-procedures

8
推荐指数
3
解决办法
1万
查看次数

同一个表的两个关系

我有一个交易表,每笔交易涉及 5-6 个联系人。每个联系人都有相同的字段,如姓名、地址、单元格、电子邮件等。

所以我猜最好的办法是使用相同的联系表并将其与事务表关联 5 次..所以我不需要制作相同类型的表 5 次。

当我与实体框架连接时,问题就开始了,这只需要一种关系。

我的问题是我应该为每种联系人类型制作 6 个联系人副本,还是使用 6 个连接表会更好(一个只有 2 个 ID 的表,所以我可以进行连接)?

我认为这是一个非常普遍的问题,但我找不到明确的信息,最好的方法是什么。

编辑: 表格样本

sql-server entity-framework relational-theory

8
推荐指数
1
解决办法
6901
查看次数

以任何方式绕过唯一索引 16 列最大值

根据CREATE INDEX文档:

最多可以将 16 列组合成一个复合索引键。

我们有一个包含 ~18 列的表格,需要形成一个独特的组合。此表性能敏感——我们很少更新值/插入记录。我们只需要确保我们避免重复我们的记录......并认为我们可以强加一个简单的唯一性约束。

有任何想法吗?如果有更好的方法,我愿意完全避免使用唯一索引/约束。

sql-server-2008 database-design sql-server constraint

8
推荐指数
2
解决办法
1万
查看次数

SQL Server:为什么要使用备份设备?

从数据库进行备份时,使用逻辑备份设备作为备份位置是“好习惯”吗?使用备份设备有什么好处?

sql-server backup

8
推荐指数
2
解决办法
7305
查看次数