SQL服务器诊断支持脚本 - AWS Database Migration Service

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

SQL服务器诊断支持脚本

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

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

在运行脚本之前,请确保您使用的用户帐户具有访问SQL服务器数据库所需的权限。对于本地数据库和 Amazon RDS 数据库,您无需SysAdmin角色即可使用与访问SQL服务器数据库相同的权限。

为本地SQL服务器数据库设置最低权限

为本地SQL服务器数据库设置运行的最低权限
  1. 例如,使用 SQL Server Management Studio (SSMS) 创建具有密码身份验证的新SQL服务器帐户on-prem-user

  2. 在的 “用户映射” 部分SSMS,选择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;

为 Amazon RDS SQL 服务器数据库设置最低权限

以最低权限运行 Amazon RDS SQL Server 数据库
  1. 例如,使用 SQL Server Management Studio (SSMS) 创建具有密码身份验证的新SQL服务器帐户rds-user

  2. 在的 “用户映射” 部分SSMS,选择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服务器 Support 脚本

以下主题介绍如何下载、查看和运行适用于SQL服务器的每个支持脚本。您还可以了解如何查看脚本输出并将其上传到您的 AWS Support 案例中。

awsdms_support_collector_sql_server.sql 脚本

下载 awsdms_support_collector_sql_server.sql 脚本。

注意

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

此脚本收集有关您的SQL服务器数据库配置的信息。请记得在脚本上验证校验和,如果校验和验证成功,请查看脚本中的SQL代码,注释掉任何你在运行时感到不舒服的代码。在您确定脚本的完整性和内容没有问题之后,可以运行该脚本。

运行本地SQL服务器数据库的脚本
  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 服务器数据库服务器名称。

    • -y – 从 sqlcmd 实用程序输出的最大列宽度。如果值为 0,则表示列宽度不受限制。

    • -i – 要运行的支持脚本的路径,在本例中为 awsdms_support_collector_sql_server.sql

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

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

  2. 脚本完成后,请查看输出HTML文件并删除任何您不愿意分享的信息。当您可以共享时,请将文件上传到您的 S HTML u AWS pport case。有关上传此文件的更多信息,请参阅在中使用诊断支持脚本 AWS DMS

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

为RDSSQL服务器数据库运行脚本
  1. 使用任何允许您以Master用户身份连接到RDSSQL服务器并将输出保存为HTML文件的客户端工具运行脚本。

  2. 查看输出HTML文件并删除任何您不愿意分享的信息。当您可以共享时,请将文件上传到您的 S HTML u AWS pport case。有关上传此文件的更多信息,请参阅在中使用诊断支持脚本 AWS DMS