受限权限:默认 SQL 服务器 - 使用既有管理员账户进行 SQL 身份验证

重要 如果连接使用 Windows 身份验证,在开始此过程之前,则需要临时更改为使用既有sysadmin帐户的 SQL 验证。

如果您的 WhatsUp Gold 解决方案使用了既有sysadmin帐户 SQL 身份验证,那么不需要为 WhatsUp Gold 部署 SQL 登录信息。应用程序可以继续使用现有的登录信息,不过该登录必须从 sysadmin 固定服务器角色中删除,并赋予应用数据库相应的权限。使用以下过程来授予 SQL 登录相应的应用数据库的权限。

重要 此过程不能使用 WhatsUp Gold 用的登录帐户来完成。

要给该 SQL 登录帐户授予相应的应用程序数据库的权限:

  1. 停止 Ipswitch 网络管理 Windows 服务、主 WhatsUp Gold 应用和任务托盘应用程序。
  2. 停止 IIS。
  3. 启动 SQLCMD 实用工具。
  4. 在连接了数据库之后,输入以下命令,从 sysadmin 固定服务器角色中删除 WhatsUp Gold SQL 登录。使用 WhatsUp Gold 用的 SQL 登录帐户来代替 sqlloginname

    EXECUTE [sys].[sp_dropsrvrolemember] @loginame = N'sqlloginname', @rolename = N'sysadmin'
  5. 输入以下命令,验证 SQL 登录当前未映射到每个应用数据库中任何用户。此命令必须对每个应用数据库都执行一次:

    EXECUTE [WhatsUp].[sys].[sp_helpuser] @name_in_db = NULL
    EXECUTE [Netflow].[sys].[sp_helpuser] @name_in_db = NULL
    EXECUTE [NFArchive].[sys].[sp_helpuser] @name_in_db = NULL

    重要如果存储的过程显示该 SQL 登录帐户当前映射到数据库中 dbo 用户名,直接跳到第7步继续。

  6. 如果登录帐户映射到了除 dbo 用户之外的其他数据库用户,输入以下命令,删除 SQL 登录帐户对应的数据库用户。用 SQL 登录帐户所关联的数据库用户名代替DBUserName

    DROP USER [DBUserName]

    重要 此命令需要对存在对应该登录帐户的用户中的所有应用数据库中重复运行(如果该数据库用户不是dbo的话)。

  7. 在连接了数据库后, 输入以下命令,在应用的每个应用数据库分配新的登录到 dbo 用户:

    ALTER AUTHORIZATION ON DATABASE::[WhatsUp] TO [WhatsUpGold_User]
    ALTER AUTHORIZATION ON DATABASE::[NetFlow] TO [WhatsUpGold_User]
    ALTER AUTHORIZATION ON DATABASE::[NFArchive] TO [WhatsUpGold_User]
  8. 在连接了数据的情况下, 输入以下命令,授予新登录创建新的应用程序数据库的权限:

    GRANT CREATE ANY DATABASE TO [sqlloginname]
  9. 在连接了数据的情况下, 输入以下命令,授予新登录监控一般服务器性能的权限:

    GRANT VIEW SERVER STATE TO [WhatsUpGold_User]
  10. 从[开始]菜单的 <[PNS]>程序组的[实用工具]文件夹下运行[数据库配置实用程序]。
  11. 输入新的SQL登录的用户名和密码,然后点击连接
  12. 重新启动 IIS。

重要 完成到有限的权限模型迁移后,您强烈建议您对每个应用数据库进行备份。在此事件之前创建的数据库备份不能再使用主 WhatsUp Gold 应用来恢复,恢复之后,WhatsUp Gold 使用的 SQL 登录信息必须在数据库中重新分配到 dbo 用户。在此事件后进行的数据库备份可以使用主 WhatsUp Gold 应用来恢复, 不需要修改 dbo 用户。

另请参阅

受限权限:远程 SQL 服务器

受限权限:受限权限:远程 SQL Server - sa 登录的 SQL 身份验证