簡體   English   中英

在SQL Server 2005中向Create Table語句添加鎖定選項

[英]adding lock option to Create Table statement in Sql Server 2005

我正忙於從Sybase數據庫在Sql Server中創建表。 在創建表的Sybase數據庫中,使用了“鎖定所有頁”選項,當在Sql Server 2005中創建表時如何復制它。

在SQL Server中,不能為CREATE TABLE的表指定鎖定選項。 您最多可以通過添加WITH ALLOW_ROW_LOCKS = OFFWITH ALLOW_PAGE_LOCKS_OFF禁用行級別和頁面級別鎖定。 在表上運行查詢和更新時,等效於在SQL Server中鎖定整個表是使用鎖定提示WITH (TABLOCK) ,但不建議這樣做。

我的建議是在將表從Sybase傳輸到SQL Server時僅忽略此選項。

您想通過“鎖定所有頁面”選項實現什么? 您正在建立的數據庫是否可以高效運行? 如果沒有,則可以在SQL Server中將訪問整個數據庫的權限限制為單個用戶:

ALTER DATABASE YourDatabaseName SET SINGLE_USER

這樣一來,您就可以確定自己是否會束手無策,直到完全完成為止:-)

通過以下方式將其設置回“正常”用法:

ALTER DATABASE YourDatabaseName SET MULTI_USER

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM