2009-09-23 64 views
2

我想查找是否在所有數據庫中的所有表上禁用了表鎖定。 所以我從sysindexes表或表級檢查索引級別上的這個屬性?查找表鎖定是否被禁用

我該如何檢查?

問候 Manjot

回答

1

據我知道,表級鎖不能被禁用。頁面和行鎖定可以在每個索引的基礎上禁用。

若要檢查,請查看allow.row_locks和allow_page_locks列的sys.indexes(如果在SQL 2005或更高版本上)。 如果在SQL 2000上,使用INDEXPROPERTY函數檢查IsPageLockDisallowed和IsRowLockDisallowed屬性。

SQL 2005:

SELECT object_name(object_id), name, index_id, allow_row_locks, allow_page_locks FROM sys.indexes 

SQL 2000

SELECT object_name(id), name, indid, INDEXPROPERTY(id, indid, 'IsPageLockDisallowed') AS IsPageLockDisallowed, INDEXPROPERTY(id, indid, 'IsRowLockDisallowed ') AS IsRowLockDisallowed 
FROM sysindexes 
+0

感謝它幫助。 – Manjot