无法在SQL Server中打开表

时间:2012-02-02 07:58:01

标签: sql sql-server

当我在sql server management studio中尝试打开表时,我收到了消息

Timeout Expired

然后,当我尝试重命名表时,我得到了

Rename Failed Lock Request Time out Expired

注意它只包含一行主键字段,日期时间字段和varbinary(max)字段。而其他表格工作得很好。偶尔会发生这种情况。 所以我该怎么做才能解决这个问题。

1 个答案:

答案 0 :(得分:1)

你是什么意思开?设计窗口或查询?

首先检查服务器上的锁定:

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