gpt4 book ai didi

sql-server - SQL Server 批量插入访问问题

转载 作者:行者123 更新时间:2023-12-03 00:18:38 24 4
gpt4 key购买 nike

我正在尝试在 SQL Server 上执行批量插入:

BULK INSERT SampleData FROM '<UNC_Path>'
WITH ( FIELDTERMINATOR = '|', ROWTERMINATOR = '\n' )

这可以针对我的本地数据库运行,但是当我尝试针对我们的开发服务器运行时,我收到以下错误:

“无法批量加载,因为无法打开文件“...”。操作系统错误代码 5(访问被拒绝。)

我的帐户和 SQL 服务帐户都有权访问该路径。我的网络管理员正在与代表们合作以使其发挥作用,但已经没有想法了。这里有人以前见过这个问题吗?

最佳答案

引自Remus Rusanu :

Your client authenticates with SQL Server, then SQL Server impersonates the client and tries to access the UNC path. That is Delegation and is implicitly forbidden. You must take the explicit steps to enable constrained delegation for the SQL Server service account. See this article explaining the details: http://msdn.microsoft.com/en-us/library/ms998355.aspx The article is shows constrained delegation for an ASP service accessing the back end database, but in your case it would be the SQL Server in the middle accessing the back end UNC share.

作为替代方案,您可以使用 Sql 身份验证连接到 Sql Server。这将导致 Sql Server 访问其自己帐户下的共享。

您确定批量插入是在Sql Server帐户下执行的吗?如果是批处理作业,可能是在 Sql Server Agent 帐户下执行的。默认情况下,这是系统\网络服务。将其更改为有权访问共享的域用户。

关于sql-server - SQL Server 批量插入访问问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1034965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com