你是什么意思?设计窗口还是查询?
检查服务器上的锁第一:
exec sp_lock
设置数据库单用户,你可以这样做:
USE master;
GO
ALTER DATABASE db SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
USE db;
GO
--DO YOUR WORK HERE
GO
ALTER DATABASE db SET MULTI_USER;
一些有用的存储过程和动态的观点:
select DB_NAME(1)
select OBJECT_NAME(1131151075,1)
exec sp_lock
-- locks for sesion 51
exec sp_lock 51
select DB_NAME(dbid)
select OBJECT_NAME(ObjId,dbid)
select * from sys.dm_tran_locks
select * from sys.dm_exec_connections
select * from sys.dm_exec_sessions
select * from sys.dm_tran_active_transactions
select * from sys.dm_tran_database_transactions
你也可以观看活动监视器并杀死创建锁的sesion。 有关于更多信息:
http://msdn.microsoft.com/en-us/library/ms173730.aspx
我的意思是查询;我无法执行选择命令,最终用户应用程序无法正常工作,所以我想释放锁定;你也是什么意思,做你的工作在这里,是我的选择命令,如果是的话,那么我只是想做选择,因为最终用户applicatoin不工作。 – 2012-02-02 10:16:25
上面的Qyery表示:回滚该数据库上的任何事务,并以SINGLE_USER模式设置数据库。然后你不必担心协调问题。在评论的地方,你可以插入你的查询。但它现在只适用于和单用户(管理员)。我建议查看活动监视器和sp_lock过程结果以找出问题出在哪里以及谁锁定了这个表。 – devarc 2012-02-02 10:52:35
我得到以下结果:54 1 1131151075 0 TAB IS GRANT,我应该怎么做才能释放表格,以便最终用户可以再次工作。以及如何知道原因,thanx – 2012-02-02 11:05:10