从共享文件夹批量插入

Posted

技术标签:

【中文标题】从共享文件夹批量插入【英文标题】:Bulk insert from share folder 【发布时间】:2015-05-17 13:22:24 【问题描述】:

我在服务器A 中拥有共享文件夹并具有权限。 我正在尝试使用来自服务器B 的批量插入。 我还使用“A”将网络位置添加到服务器“B”(尝试使用本地路径 - 但没有)。 使用sql server 2008 r2 SQL 身份验证为:Sql server。 另外那些服务器没有域控制器,但显然在同一网络下。 错误是: 无法批量加载,因为无法打开文件 \\\server\folder\file。操作系统错误代码 5(拒绝访问。)。 我能做些什么? 谢谢

【问题讨论】:

您的连接字符串不应使用 mdf 文件名。相反,连接字符串应该消除 mdf 并连接到服务器名称和 SQL Server 实例。该实例应与 SQL Server Management Studio 登录窗口中显示的相同。 您的批量加载命令在哪里?如果您使用 bcp,您需要在服务器 b 上运行它并可以从服务器 a 访问该文件。您还可以使用服务器 a 上的工作室将服务器 a 上的数据导入服务器 b 上的数据库。 命令来自存储过程,在Sql认证下。 【参考方案1】:

从 SQL 身份验证连接调用 BULK INSERT T-SQL 语句时使用 SQL Server 进程标识(服务帐户)安全上下文。如果没有域基础架构,您将需要允许 Everyone 访问文件并共享,或者在两台服务器上使用相同的帐户名和密码创建本地 Windows 帐户。使用该本地 Windows 帐户作为 SQL Server 服务帐户(通过 SQL Server 配置管理器指定)。

【讨论】:

对每个人的许可都没有帮助。而且我不想更改服务帐户。还有其他方法吗? @user2145201,在文件服务器上创建一个与服务帐户同名和密码的本地帐户。此外,请确保您授予共享和文件的权限。

以上是关于从共享文件夹批量插入的主要内容,如果未能解决你的问题,请参考以下文章

如何使用存储过程在本地读/写或复制/粘贴文本文件?

windows共享网盘批量下载提示

AD域怎么限制上网,怎么设共享文件,怎么限制软件运行,怎么批量安装软件,说下详细步骤哦!! 分可以多给

将 CSV 数据从共享文件夹路径导入 Azure SQL 数据库

电脑上如何共享文件

查询 Google Drive 文件夹并更改共享权限