收缩日志文件和备份数据库
我知道什么时候会出现这个错误。某些事务应该锁定表。
但我需要知道如何找到它?
由于
答案 0 :(得分:1)
你可以使用DMV来找出所持有的锁和由谁控制。
SELECT L.resource_type, L.request_mode, L.request_type, L.request_status, L.request_session_id, S.[host_name], S.[program_name], s.login_name
FROM sys.dm_tran_locks AS L
INNER JOIN sys.dm_exec_sessions AS S
ON S.session_id = L.request_session_id
WHERE resource_database_id = DB_ID(N'msdb');
请参阅联机丛书> sys.dm_tran_locks(Transact-SQL):https://msdn.microsoft.com/en-us/library/ms190345.aspx
联机丛书> sys.dm_exec_sessions(Transact-SQL):https://msdn.microsoft.com/en-gb/library/ms176013.aspx
答案 1 :(得分:1)
收缩日志文件和备份时收到错误'锁定请求超时' 数据库
我这是错误的你得到它的日志文件收缩,而不是备份。并且日志文件收缩并不是你应该开始做的事情。不是常规维护的一部分。
在SQL Server中经常缩小任何内容都是计划错误或管理员无能的标志。预先分配合理的数量,与他们一起生活。特别是对于日志文件,应该计划增长具有合理的虚拟日志文件大小。
https://technet.microsoft.com/en-us/magazine/2008.08.database.aspx
解释了他们背后的逻辑。
所以,你的问题是咆哮错误的树。