我想知道为 SQL Server 2005/2008 设置“批量加载表锁定”的 sp_tableoption 的优缺点?我的场景是,我有 3 个线程在数据库上工作,一个查询线程,一个批量插入线程和一个删除线程。
这是 sp_tableoption 的 MSDN 相关链接,
http://msdn.microsoft.com/en-us/library/ms173530.aspx
提前谢谢,乔治
我想知道为 SQL Server 2005/2008 设置“批量加载表锁定”的 sp_tableoption 的优缺点?我的场景是,我有 3 个线程在数据库上工作,一个查询线程,一个批量插入线程和一个删除线程。
这是 sp_tableoption 的 MSDN 相关链接,
http://msdn.microsoft.com/en-us/library/ms173530.aspx
提前谢谢,乔治
只需在 BULK INSERT 中执行
例子
将锁定表的批量插入
BULK INSERT Northwind.dbo.[ORDER Details]
FROM 'f:\orders\lineitem.tbl'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ':\n',
FIRE_TRIGGERS,
TABLOCK --this is it
)
该语句不会锁定表
BULK INSERT Northwind.dbo.[ORDER Details]
FROM 'f:\orders\lineitem.tbl'
WITH
(
FIELDTERMINATOR = '|',
ROWTERMINATOR = ':\n',
FIRE_TRIGGERS
)
使用 -h(用于提示)开关和“TABLOCK”的带标签块的 BCP
bcp pubs..authors2 in authors.txt -c -t, -Sservername -Usa -Ppass -h "TABLOCK"
您可以从 SSIS 或 DTS 中进行批量插入,然后到那里的表锁
例如在转换数据任务下的 DTS 中查看选项选项卡,检查使用快速加载和表锁定 SSIS 有类似的东西