在SQL Server 2008中使用SqlBulkCopy需要什么权限?

Jon*_*len 21 .net sql-server ado.net

使用.NET的SqlBulkCopy的,我需要什么权限给予在SQL Server 2008用户?

Sam*_*Sam 20

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); (3认同)

dan*_*dan 8

要从.net指定这些提示:

var bulkCopy = new SqlBulkCopy(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"],
        SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints);
Run Code Online (Sandbox Code Playgroud)