我目前正在为我们的网站实现一个缓存机制。我想使用SQL缓存依赖项功能。我在management studio中运行以下命令,但它不起作用。
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "my_server_name\ASPNET"我得到的错误是:
Cannot find the user 'my_server_name\ASPNET', because it does not exist or you do not have permission.我尝试以特定数据库的管理员身份登录,为其设置通知,并与计算机管理员进行sa和windows身份验证。我也试过以管理员身份运行management studio,但仍然不是joy。有人能给我指个方向吗?谢谢!
发布于 2011-04-20 00:06:44
首先,您似乎正在尝试向运行该站点的帐户授予权限。在IIS6和IIS7中,这些是由应用程序池上设置的帐户控制的。该帐户过去是ASPNET,但不再是默认帐户。取而代之的是,默认的(我相信从.NET 2.0开始)是NETWORK SERVICE。但是,如果您使用的是IIS 7,情况又一次发生了变化。默认情况下,在IIS7中,它使用名为"ApplicationPoolIdentity“的东西,这是它自己为每个站点创建的特殊凭证。如果SQL server与web服务器位于不同的计算机上,则会遇到另一个问题,即凭据都是计算机本地的。
我的建议是根据您的设置执行以下操作:
两台服务器都在同一个域中,并且您希望使用可信连接:
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "domain name\MyIISAccount"
还可能存在其他Kerberos问题,这些问题与域上的服务器和可能需要创建SPN (服务主体名称)有关。
这两台服务器都不在域中(即,两台服务器都是成员服务器),并且您希望使用可信连接:
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLServerMachineName\AccountUsedBySite'
您希望使用SQL帐户而不是可信连接:
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLUserAccountUsedBySite'
IIS和SQL Server位于同一台计算机上,并且您希望使用可信连接
GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLServerMachineName\MyIISAccount'
发布于 2011-04-11 19:09:34
试试这个:
向my_server_name\ASPNET授予订阅查询通知
https://stackoverflow.com/questions/5617847
复制相似问题