我想知道在SQL Server2005/2008中设置“批量装载时的表锁”的sp_tableoption的优缺点?我的场景是,我有3个线程在数据库上工作,一个查询线程,一个批量插入线程和一个删除线程。
这是sp_tableoption的MSDN相关链接,
http://msdn.microsoft.com/en-us/library/ms173530.aspx
先谢谢你,乔治
发布于 2009-06-16 16:27:53
只需在批量插入中执行此操作即可
示例
将锁定表的大容量插入
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 pubs..authors2 in authors.txt -c -t, -Sservername -Usa -Ppass -h "TABLOCK"您可以从SSIS或DTS中执行大容量插入,并在那里对表锁执行大容量插入
例如,在DTS中的transform data任务下,查看options选项卡,选中use fast load and table lock SSIS具有类似的功能
https://stackoverflow.com/questions/1002536
复制相似问题