嗨,有时我会SQL Server
因为未打开的未知事务或锁定表而遇到问题,我阅读了许多建议以避免重新启动服务器
,直到我发现这一点,而且似乎有效
你有其他建议释放锁和回滚传输吗?
因为我保留在生产服务器上运行它
USE master;
GO
ALTER DATABASE [db_dev]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [db_dev]
SET MULTI_USER;
GO
嗨,有时我会SQL Server
因为未打开的未知事务或锁定表而遇到问题,我阅读了许多建议以避免重新启动服务器
,直到我发现这一点,而且似乎有效
你有其他建议释放锁和回滚传输吗?
因为我保留在生产服务器上运行它
USE master;
GO
ALTER DATABASE [db_dev]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
ALTER DATABASE [db_dev]
SET MULTI_USER;
GO
您可以通过使用检查是什么阻止了您的进程
sp_who2
然后
kill spid
将其设置为 single_user 然后恢复将删除与该数据库的所有连接。在生产服务器上可能非常危险。
如果您锁定了一张桌子,您可以使用以下代码将其杀死:
SELECT OBJECT_NAME(P.object_id) AS TableName,
Resource_type,
request_session_id
FROM sys.dm_tran_locks AS L
JOIN sys.partitions AS P ON L.resource_associated_entity_id = p.hobt_id
WHERE OBJECT_NAME(P.object_id) = '<Table_Name>';
GO
Kill session_ID