sql-server – SQL批量插入的Kerberos委派(拒绝访问)

前端之家收集整理的这篇文章主要介绍了sql-server – SQL批量插入的Kerberos委派(拒绝访问)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在以下情况下尝试批量插入sql时遇到问题:

>在Workstation A上运行管理工作室
>在服务器B上运行的sql
>从位于服务器C上的批量上载文件

当我尝试批量上传时,我收到错误

  1. Cannot bulk load because the file <filename> could not be opened. Operating system error code 5(Access is denied.).

现在我知道我们在这里有一个双跃点问题,需要整理委托.已经为sql设置了SPN,如下所示(sql在不同的端口上运行). sql作为域用户运行,SPN在该帐户上.

  1. command: setspn -l domain\sqluser
  2.  
  3. result:
  4. MSsqlSvc/WIN-D04V1IOTESN
  5. MSsqlSvc/WIN-D04V1IOTESN.domain.local
  6. MSsqlSvc/win-d04v1iotesn.domain.local:55037
  7. MSsqlSvc/WIN-D04V1IOTESN:55037

我还设置了从sql用户帐户到Cifs和HOST的文件服务器的委托,但无济于事.

我已启用Kerberos日志记录,并在事件查看器中看到以下事件:

  1. A Kerberos Error Message was received:
  2. on logon session
  3. Client Time:
  4. Server Time: 14:44:10.0000 8/9/2011 Z
  5. Error Code: 0xe KDC_ERR_ETYPE_NOTSUPP
  6. Extended Error:
  7. Client Realm:
  8. Client Name:
  9. Server Realm: domain.LOCAL
  10. Server Name: krbtgt/domain.LOCAL
  11. Target Name: krbtgt/domain.LOCAL@domain.LOCAL
  12. Error Text:
  13. File: 9
  14. Line: efb
  15. Error Data is in record data.

那么,对于我在这里缺少什么的想法?我之前有过这种委托,但是在默认端口上一直使用sql,这会产生什么影响?

编辑

我现在也看到这个Kerbors错误与第一个错误

  1. A Kerberos Error Message was received:
  2. on logon session
  3. Client Time:
  4. Server Time: 15:4:10.0000 8/9/2011 Z
  5. Error Code: 0xe KDC_ERR_ETYPE_NOTSUPP
  6. Extended Error:
  7. Client Realm:
  8. Client Name:
  9. Server Realm: domain.LOCAL
  10. Server Name: krbtgt/domain.LOCAL
  11. Target Name: krbtgt/domain.LOCAL@domain.LOCAL
  12. Error Text:
  13. File: 9
  14. Line: efb
  15. Error Data is in record data.

解决方法

从注释中,您使用域登录连接到sql,因此sql在连接到文件共享时会尝试模拟您.如果您没有为您的域帐户设置此委托,则会失败.

当运行作为sql登录连接的存储过程时,sql将尝试使用它正在运行的域服务帐户,您说已经为此设置了委派.

如果使用域服务帐户连接查询窗口,则sql正在运行,因为它已经配置,因此它应该可以正常运行.为您自己的域帐户设置一个委托信任到文件服务器,它应该开始工作.

猜你在找的MsSQL相关文章