当我们使用SqlBulkCopy
时,我们收到以下错误(仅在登台服务器上)。存储过程具有执行权限。他们在我们的测试环境中正常工作。那么在舞台环境中要纠正的设置是什么才能正常工作?请分享您的想法。
批量的目标表上需要ALTER TABLE权限 复制操作 如果表有触发器或检查约束,但是 'FIRE_TRIGGERS'或 'CHECK_CONSTRAINTS'批量提示未指定为选项 批量复制命令。
答案 0 :(得分:1)
很难准确说明,因为您没有提供任何SP /表定义,但似乎您需要指定SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.CheckConstraints
才能使其工作...和/或给用户{{1权限...如果这在一个环境中工作而不在另一个环境中工作,则SP /表定义和/或用户权限必须存在差异......
答案 1 :(得分:1)
给定问题的根本原因是需要ALTER TABLE权限。我们可以通过以下两种解决方案之一来解决问题。
要么只是向指定的用户组授予ALTER TABLE权限,要么按照说明进行操作
答案 2 :(得分:0)
这个错误对我来说非常清楚。在您的临时环境中,您正在执行SQL命令的用户对您要批量加载的表没有ALTER TABLE权限。根据您的问题的措词,可能有一些其他环境正在发挥作用。在这些环境中,用户确实具有ALTER TABLE访问权限。
错误消息中指定的替代方法包括使用bulk load命令发出FIRE_TRIGGERS和/或CHECK_CONSTRAINTS选项。有关如何执行此操作的详细信息,请参阅此处:http://msdn.microsoft.com/en-us/library/aa225968(v=sql.80).aspx