SQL 服务器诊断支持脚本 - Amazon Database Migration Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SQL 服务器诊断支持脚本

下面,您可以找到诊断支持脚本的描述,这些脚本可用于分析本地或 Amazon RDS for SQL Server 数据库的Amazon DMS迁移配置。这些脚本可与源或目标终端节点配合使用。对于本地数据库,请在 sqlcmd 命令行实用程序中运行这些脚本。有关使用此实用程序的更多信息,请参阅sqlcmd-使用实用程序在微软文档中。

对于 Amazon RDS 数据库,您无法使用 sqlcmd 命令行实用程序进行连接。相反,请使用任何连接到 Amazon RDS SQL Server 的客户端工具运行这些脚本。

运行脚本之前,请确保您使用的用户帐户具备访问您的 SQL Server 数据库所需的权限。对于本地数据库和 Amazon RDS 数据库,您可以使用相同的权限来访问 SQL Server 数据库,而不需要SysAdmin角色。

为内部部署 SQL Server 数据库设置运行的最低权限

  1. 使用 SQL Server Management Studio (SSMS) 创建采用密码身份验证的新 SQL Server 帐户,例如on-prem-user.

  2. 用户映射部分中,选择MSDBMASTER数据库(给予公共权限),并将DB_OWNER角色添加到要在其中运行脚本的数据库。

  3. 打开新帐户的上下文 (右键单击) 菜单,然后选择安全来显式授予Connect SQL权限。

  4. 运行以下授权命令。

    GRANT VIEW SERVER STATE TO on-prem-user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO on-prem-user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO on-prem-user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO on-prem-user;

使用亚马逊 RDS SQL Server 数据库的最低权限运行

  1. 使用 SQL Server Management Studio (SSMS) 创建采用密码身份验证的新 SQL Server 帐户,例如rds-user.

  2. 用户映射部分中,选择MSDB数据库(给予公共权限),并将DB_OWNER角色添加到要在其中运行脚本的数据库。

  3. 打开新帐户的上下文 (右键单击) 菜单,然后选择安全来显式授予Connect SQL权限。

  4. 运行以下授权命令。

    GRANT VIEW SERVER STATE TO rds-user; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TO rds-user; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TO rds-user; GRANT SELECT ON MSDB.DBO.BACKUPFILE TO rds-user;

以下主题介绍如何下载、查看和运行可用于 SQL Server 的每个支持脚本。它们还描述了如何查看脚本输出并将其上传到AmazonSupport 案例。

awsdms_support_collector_sql_server.sql 脚本

下载awsdms_support_collector_sql_server.sql脚本。

注意

仅在 SQL Server 2014 年及更高版本上运行此 SQL Server 诊断支持脚本。

此脚本收集有关 SQL Server 数据库配置的信息。请记住要验证脚本上的校验和,如果校验和验证,请查看脚本中的 SQL 代码,以注释掉运行不舒服的任何代码。对脚本的完整性和内容感到满意后,可以运行它。

为本地 SQL Server 数据库运行脚本的步骤

  1. 使用以下 sqlcmd 命令行运行脚本。

    sqlcmd -Uon-prem-user -Ppassword -SDMS-SQL17AG-N1 -y 0 -iC:\Users\admin\awsdms_support_collector_sql_server.sql -oC:\Users\admin\DMS_Support_Report_SQLServer.html -dsqlserverdb01

    指定的 sqlcmd 命令参数包括:

    • -U— 数据库用户名。

    • -P— 数据库用户密码。

    • -S— SQL Server 数据库服务器名称。

    • -y— sqlcmd 实用程序输出的列的最大宽度。值为 0 时,指定无限宽度的列。

    • -i— 要运行的支持脚本的路径,在这种情况下awsdms_support_collector_sql_server.sql.

    • -o— 输出 HTML 文件的路径,包含所收集的数据库配置信息,其中包含指定的文件名。

    • -d— SQL Server 数据库名称。

  2. 脚本完成后,检查输出 HTML 文件并删除您不舒服共享的所有信息。当您可以共享 HTML 时,请将文件上传到AmazonSupport 案例。有关上传此文件的更多信息,请参阅使用诊断支持脚本Amazon DMS.

使用适用 Amazon RDS for SQL Server,您无法使用 sqlcmd 命令行实用程序进行连接,因此请按以下步骤操作。

为 RDS SQL 服务器数据库运行脚本的步骤

  1. 使用允许您连接到 RDS SQL Server 的任何客户端工具运行脚本Master用户并将输出另存为 HTML 文件。

  2. 查看输出 HTML 文件,并删除您不舒服共享的所有信息。当您可以共享 HTML 时,请将文件上传到AmazonSupport 案例。有关上传此文件的更多信息,请参阅使用诊断支持脚本Amazon DMS.