带有Windows身份验证的IIS上的SQL Server SMO

时间:2011-01-31 21:22:22

标签: asp.net sql-server iis smo windows-authentication

当我在IIS上启用Windows身份验证并尝试运行某些数据库更新脚本时,我收到一个奇怪的错误:

  

模仿的令牌无效 - 它   不能重复。

我没有启用任何明确的模拟。

我已将其缩小为与SMO有关,因为当我更改为正常SqlClient并使用ExecuteNonQuery时,问题就会消失。遗憾的是,这不是长期解决方案,因为更新脚本必须能够包含标准SqlClient无法识别的“GO”关键字。

1 个答案:

答案 0 :(得分:0)

IIS工作进程正在以某个用户身份运行。使用Windows身份验证时,您隐式向该用户进行模拟。

如果您的SQL服务器位于不同的主机上,这可能不够好。我认为模仿的用户只能访问本地资源。

http://msdn.microsoft.com/en-us/library/ff647405.aspx#paght000025_usingimpersonation

SQL Server是否使用Windows身份验证?