使用.NET的SqlBulkCopy的,我需要什么权限给予在SQL Server 2008用户?
http://msdn.microsoft.com/en-us/library/ms162802.aspx
bcp out操作需要源表的SELECT权限.
操作中的bcp最低限度需要目标表上的SELECT/INSERT权限.此外,如果满足以下任何条件,则需要ALTER TABLE权限:
存在约束并且未指定CHECK_CONSTRAINTS提示.ms162802.note(zh-cn,SQL.100).gif注意:禁用约束是默认行为.要显式启用约束,请将-h选项与CHECK_CONSTRAINTS提示一起使用.
存在触发器并且未指定FIRE_TRIGGER提示.ms162802.note(zh-cn,SQL.100).gif注意:默认情况下,不会触发触发器.要显式触发触发器,请将-h选项与FIRE_TRIGGERS提示一起使用.
使用-E选项从数据文件中导入标识值.
ms162802.note(zh-cn,SQL.100).gif注意:要求目标表的ALTER TABLE权限是SQL Server 2005中的新增功能.此新要求可能会导致不强制执行触发器和约束检查的bcp脚本失败帐户缺少目标表的ALTER表权限.
要从.net指定这些提示:
var bulkCopy = new SqlBulkCopy(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"], SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints);