gpt4 book ai didi

asp.net - 问题设置订阅查询通知

转载 作者:行者123 更新时间:2023-12-03 01:58:52 24 4
gpt4 key购买 nike

我目前正在为我们的网站实现缓存机制。
我想使用 SQL 缓存依赖功能。
我正在管理工作室中运行以下命令,但它不起作用。

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 身份验证。
还尝试以管理员身份运行管理工作室,但仍然不高兴。
有人可以指出我正确的方向。
谢谢!

最佳答案

首先,您似乎正在尝试向运行站点的帐户授予权限。在 IIS 6 和 IIS7 中,这些由应用程序池上设置的帐户控制。该帐户曾经是ASPNET但不再默认。相反,默认值(我相信从 .NET 2.0 开始)是 NETWORK SERVICE .但是,如果您使用的是 IIS 7,情况又发生了变化。默认情况下,在 IIS7 中,它使用称为“ApplicationPoolIdentity”的东西,它是为每个站点创建的自己的特殊凭据。如果 SQL Server 与 Web 服务器位于不同的机器上,您将遇到另一个问题,即凭据都是机器本地的。

我的建议是根据您的设置执行以下操作:

两台服务器都在一个域中,并且您想使用受信任的连接:

  • 创建域帐户并将其放入域用户。
  • 在 Web 服务器上,将此帐户放入 IIS_IUSRS 组。
  • 进入站点的应用程序池并将运行站点的帐户更改为此域帐户。您还需要确保此帐户对站点文件具有适当的 NTFS 权限。如果此站点仅写入数据库,您可以授予该帐户只读访问包含站点文件的文件夹的权限。
  • 确保形成站点使用的连接字符串以请求可信连接。 (有关语法,请参见 www.connectionstrings.com)
  • 在数据库服务器上执行您对此帐户的授权:
  • GRANT SUBSCRIBE QUERY NOTIFICATIONS TO "domain name\MyIISAccount"
    可能还有其他 Kerberos 问题与域上的两个服务器以及可能需要创建 SPN(服务主体名称)的事实相关。

    两个服务器都不在域中(即,两个都是成员服务器)并且您想使用受信任的连接:
  • 使用相同的用户名和密码在 Web 服务器和数据库服务器上创建一个本地帐户。他们都拥有相同的用户名和密码至关重要。此技术涉及使用 NTLM“直通”身份验证,该身份验证匹配由用户名和密码创建的哈希,以确定用户是否在两个不同的服务器之间进行了身份验证。在 Windows 2008 R2 上,您可能需要跳过一些本地策略以确保在两台服务器之间启用 NTLM。
  • 使用此帐户执行上述第 2 步至第 4 步。
  • 在 SQL Server 上,确保此本地帐户具有登录名,并且此登录名映射到数据库中的用户。然后你会执行类似:
  • GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLServerMachineName\AccountUsedBySite'
    您想使用 SQL 帐户而不是受信任的连接:
  • 在这种情况下,站点用于连接到数据库的连接字符串将包括映射到 SQL Server 数据库上的登录名的用户名和密码,该登录名映射到数据库中的用户(通常放在 db_owner 角色中以使其dbo)。此
  • 假设凭据是正确的,您只需对该用户执行授权:
  • GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLUserAccountUsedBySite'
    IIS 和 SQL Server 在同一台机器上,你想使用受信任的连接
  • 创建一个本地用户帐户并将其放入用户组。
  • 将此帐户放入本地 IIS_IUSRS 组。
  • 进入该站点的应用程序池并将运行该站点的帐户更改为此本地帐户。您还需要确保此帐户对站点文件具有适当的 NTFS 权限。如果此站点仅写入数据库,您可以授予该帐户只读访问包含站点文件的文件夹的权限。
  • 确保形成站点使用的连接字符串以请求可信连接。 (有关语法,请参见 www.connectionstrings.com)
  • 在 SQL Server 中,为此帐户创建登录名,然后在适当的数据库中为此帐户创建一个用户,将其放入适当的角色。
  • 现在执行您对该帐户的授权:
  • GRANT SUBSCRIBE QUERY NOTIFICATIONS TO 'SQLServerMachineName\MyIISAccount'

    关于asp.net - 问题设置订阅查询通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5617847/

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