小编gra*_*l8d的帖子

在已提交读快照隔离 (RCSI) 下获取的共享锁

LCK_M_S在使用 RCSI时看到等待共享锁 ( )。我的理解是这不应该发生,因为SELECTs在使用 RCSI 时不需要共享锁。

我怎样才能看到共享锁?是因为外键吗?

sql-server-2008 sql-server locking snapshot-isolation

9
推荐指数
1
解决办法
1170
查看次数

SQL Server 选择计数 READ_COMMITTED_SNAPSHOT 问题

在特定表上执行 select count(*) 时,我似乎遇到了很多死锁。我已经更改了所有必需的参数并将它们设置为仅行锁定。

我还更改了数据库以使用 READ_COMMITTED_SNAPSHOT 隔离,

但是,似乎使用 select count(*) where column = ? 在桌子上触发死锁或桌子上的锁..

我是否正确地认为 select count(*) 应该只访问中间行?但是,似乎并非如此,我仍然遇到死锁。适当的索引可能会有所帮助,

问题是:即使 read_committed_snapshot 设置为 on,SQL Server 2008 R2 是否在 select count(*) 期间在表上放置共享锁?

谢谢

sql-server-2008 sql-server deadlock isolation-level

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

如何强制使用行锁?

我试图让我的表使用行锁。我已经禁用了锁升级。隔离级别为READ_COMMITTED_SNAPSHOT

alter table <TABLE_NAME> SET (LOCK_ESCALATION=DISABLE)
go
alter index <INDEX_NAME> ON <TABLE_NAME> SET (ALLOW_PAGE_LOCKS=OFF) 
go
Run Code Online (Sandbox Code Playgroud)

设置后还是不行。

我是否需要重建我的表以使其不使用页面锁定?

sql-server deadlock sql-server-2008-r2 locking isolation-level

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

LDF 文件上的 SQL Server 错误 833

我在我的 ldf 文件中收到错误 833,而且我收到了很多错误。

请参阅以下内容。发生这种情况时,我的应用程序已经挂起。

我知道错误 833 已被多次报告,但是如果它始终指向我无法访问的 LDF 文件,这意味着什么?是不是因为LDF文件已经很大了?

我在 Windows 2008 环境中使用 SQL Server 2008 R2。数据库处于无响应状态,重启是唯一删除挂起 I/O 的方法。一旦开始,它还没有结束。

对此有什么可能的解释?请查看 sql 错误日志中的日志文件。

可能也是因为这个错误吗?

http://support.microsoft.com/kb/2708012

顺便说一句,sql server 一直没有响应,这发生在夜间。只有重新启动才能使服务器再次响应。

01/21/2013 12:22:09,spid3s,Unknown,SQL Server has encountered 19 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [E:\MSSQL.1\MSSQL\DATA\test_database_log.LDF] in database [test_database] (6).  The OS file handle is 0x00000000000008B8.  The offset of the latest long I/O is: 0x00001028a8ac00
01/21/2013 12:15:29,spid3s,Unknown,SQL Server has encountered 17 occurrence(s) of I/O requests taking longer than …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server sql-server-2008-r2 hang

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