首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL身份验证时出现批量插入错误

使用SQL身份验证时出现批量插入错误
EN

Stack Overflow用户
提问于 2019-03-18 14:10:39
回答 1查看 540关注 0票数 2

使用SQL身份验证时会收到SSIS大容量插入错误,而使用windows身份验证时可以插入数据。

大容量插入任务错误:出现以下错误消息:“无法大容量加载,因为文件"C:\BCP\extract_remove_ref.bcp”无法打开。操作系统错误代码3(未能检索此错误的文本。原因:15105)“。

EN

回答 1

Stack Overflow用户

发布于 2019-03-18 17:57:21

当使用Server身份验证执行BULK INSERT时,Server服务使用的帐户的凭据将按文档中指定的方式使用。若要解决此问题,请将对在BULK INSERT操作中使用的文件夹/文件的访问权限授予运行Server服务的帐户。这可以通过Windows实现,方法是右键单击文件夹/文件,然后转到Properties > Security > Edit > Add并键入帐户名。如果找不到它,请确保在对象类型窗口中选择了正确的帐户类型,并从Locations窗口中选择正确的位置。如果您在查找帐户时遇到问题,请键入“使用检查名称”选项。

更新1-正式文件

提及下列正式文件:

向每次服务的SID授予文件系统权限

  1. 使用Windows资源管理器,导航到存储数据库文件的文件系统位置。右键单击“文件系统”文件夹,然后单击“属性”。
  2. 在“安全性”选项卡上,单击“编辑”,然后添加。
  3. 在“选择用户、计算机、服务帐户或组”对话框中,单击“位置”,在“位置”列表的顶部,选择计算机名称,然后单击“确定”。
  4. 在“输入要选择的对象名称”框中,键入“联机丛书主题配置Windows服务帐户和权限”中列出的每个服务SID名称的名称。(对于每个服务SID名称的数据库引擎,默认实例使用NT SERVICE\MSSQLSERVER,对命名实例使用NT SERVICE\MSSQL$InstanceName。)
  5. 单击“检查名称”以验证该项。(如果验证失败,它可能会建议您找不到名称。单击“确定”时,将出现“找到多个名称”对话框。现在选择每个服务的SID名称( MSSQLSERVER或NT SERVICE\MSSQL$InstanceName ),然后单击OK。再次单击OK返回权限对话框。)
  6. 在“组名或用户名”框中,选择“每个服务的SID名称”,然后在“权限”框中,选中“完全控制的允许”复选框。
  7. 单击Apply,然后单击OK两次退出。

附加信息

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55223324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档