我正忙于从Sybase数据库在Sql Server中创建表。在Sybase数据库中创建表时,使用了一个选项'lock allpages',如何在Sql Server 2005中创建表时复制它。
答案 0 :(得分:1)
在SQL Server中,您无法为CREATE TABLE
中的表指定锁定选项。您最多可以通过添加WITH ALLOW_ROW_LOCKS = OFF
或WITH ALLOW_PAGE_LOCKS_OFF
来禁用行级和页级锁定。相当于在SQL Server中锁定整个表是在表上运行查询和更新时使用锁提示WITH (TABLOCK)
,但不建议这样做。
我的建议是在将表从Sybase传输到SQL Server时忽略此选项。
答案 1 :(得分:0)
使用此“锁定所有页面”选项,您希望实现什么目标?您正在进行的数据库是否正常运行?如果没有,在SQL Server中,您可以将对整个数据库的访问限制为单个用户:
ALTER DATABASE YourDatabaseName SET SINGLE_USER
这样你肯定没有其他人会以你的方式来捣乱直到你完全完成: - )
使用以下命令将其恢复为“正常”用法:
ALTER DATABASE YourDatabaseName SET MULTI_USER
马克