我的 SQL Server 有时会报告大量的延迟写入。例如“每秒延迟写入为 119 次写入/秒”
为什么下面的查询执行索引扫描而不是索引查找?
我会认为索引会充当覆盖索引吗?
CREATE NONCLUSTERED INDEX [IX_CustomerFileDate]
ON [dbo].[UserData]
(
[CustomerID] ASC,
[FileDate] ASC
)
INCLUDE ([UserID],[User])
-- query
SELECT c.User, c.UserID
FROM ClientData c
WHERE CustomerID = @CustomerID
AND FileDate >= @StartDate
AND FileDate <= @EndDate
Run Code Online (Sandbox Code Playgroud)
执行计划发布到Dropbox
谢谢!
我一直在查看有关登录 70-463 考试的示例问题。对于以下内容,给出的答案对我来说没有意义。
给出的第一个答案甚至没有说明如何实现日志记录。我会选择C作为答案。
第二个答案建议使用 dtexecui,这仅适用于旧版?我再次使用“创建一个 OnError 事件处理程序”(F)作为答案。
我错了吗?
谢谢!



我正在设计新 SQL Server 安装的要求。我一直在研究磁盘存储,一切似乎都指向使用 RAID。
但是,我发现了这篇文章,它表明 RAID 在今天不再适用。
任何人都可以指出我可以在哪里了解 SQL Server 的最新磁盘存储的方向。
我删除了 SQL Server Windows登录。然后我运行下面的代码来检查孤立的数据库用户。但是,与删除的 Windows 登录对应的数据库用户不会显示为孤立用户。
为什么会这样?
EXEC sp_change_users_login @Action = 'Report';
Run Code Online (Sandbox Code Playgroud) 我在 SQL Server 2008R2 上的 MSDB SSIS 上的许多文件夹中有许多 SSIS 包。我们正在迁移到新的服务器主机,但仍保留在 SQL Server 2008R2 上。
如何将这些 SSIS 包复制/迁移到新服务器?Dtutil 是最佳选择吗?
运行 SSIS 包时出现此错误...
分配 104857600 字节时缓冲区失败。系统报告31% 的内存负载。有 17179328512 字节的物理内存,其中 11714314240 字节空闲。有 2147352576 字节的虚拟内存,其中 406519808 字节空闲。分页文件有 19729465344 字节,其中 13419847680 字节空闲。
运行包的机器上的内存似乎没问题。31% 的内存负载被认为是高吗?这仅在迁移到较新的服务器后才开始发生。但是这个新服务器的内存容量增加了一倍。
没有添加新的 SSIS 包。SSIS 包存储在 SQL Server 2008R2 服务器上。它们是从另一台运行 SSIS 2008 的服务器调用的。
知道是什么原因造成的吗?
SSIS 包通过第 3 方应用程序执行。我们强制此应用程序以 32 位运行,因为在添加对 System.Data.dll 的引用后出现以下错误

如何强制 SSIS 包以 64 位运行?
SIMPLE 恢复模型是否执行与 FULL 恢复模型相同的事务日志记录?即保留每个插入/更新/删除事务的记录?
如果是这种情况,那么为什么要使用 FULL Recovery 模式?在 SIMPLE Recovery 中,检查点每分钟在繁忙的数据库上运行一次,因此数据被写入磁盘。
在 SIMPLE 恢复模型中,数据丢失可能发生在哪里?
谢谢!
我一直在阅读数据仓库及其目的。主要目的似乎是跟踪历史数据以及随着时间的推移可能发生的任何变化。
我正在阅读的 DW 书给出了使用 DW 模式的许多原因......
1) 规范化模式可能有 1000 个表
2) 可能不会强制执行命名约定
3)数据可能在多个数据库中
4)数据质量问题
5) 历史数据要求
我现在正在做一个项目,有人建议我使用 DW 模式。但是,以上 5 个原因都不适用于我的情况。
1) 数据在 10 个表的区域内
2) 列名正确 3) 所有数据都在一个数据库中
4) 没有报告数据质量问题
5) 对历史数据无要求
那么,跟踪历史数据是使用 DW 的主要原因吗?
我有一个表,最多包含 20 列。数据按 3 列选择、插入和删除:用户名、开始日期和结束日期。
这 3 列不是唯一的。
该表是一个独立的表 - 没有连接到其他表。
我是否在这 3 列上创建聚集索引?或者我是否创建一个作为 PK 自动递增的 UniqueID,然后在这 3 列上创建一个非聚集索引?或者根本不需要主键?
SELECT StartDate, EndDate, Username, Value1, Value2, Value3, Value4, Value5, Value6
FROM myTbl
WHERE Username = @Username
AND StartDate = @StartDate
AND EndDate = @EndDate;
DELETE FROM myTbl
WHERE Username = @Username
AND StartDate = @StartDate
AND EndDate = @EndDate
Run Code Online (Sandbox Code Playgroud) sql-server ×7
ssis ×3
index ×1
index-tuning ×1
logins ×1
memory ×1
migration ×1
performance ×1
primary-key ×1
storage ×1
users ×1