SQL伺服器診斷支援腳本 - AWS Database Migration Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

SQL伺服器診斷支援腳本

接下來,您可以找到診斷支援指令碼的說明,以便在 AWS DMS 遷移組態中分析現場部署或 Amazon RDS for SQL Server 資料庫。這些指令碼可與來源或目標端點搭配使用。對於內部部署資料庫,請在 sqlcmd 命令列公用程式中執行這些指令碼。如需使用此公用程式的相關資訊,請參閱 Microsoft 說明文件中的 sqlcmd - 使用公用程式

對於 Amazon 數RDS據庫,您無法使用 sqlcmd 命令行實用程序進行連接。而是使用連線到 Amazon RDS SQL 伺服器的任何用戶端工具來執行這些指令碼。

在執行指令碼之前,請確定您使用的使用者帳戶具有存取SQL伺服器資料庫的必要權限。對於現場部署和 Amazon RDS 資料庫,您可以使用與存取SQL伺服器資料庫相同的許可,而無需SysAdmin角色。

設定內部部署SQL伺服器資料庫的最低權限

設定要針對內部部署SQL伺服器資料庫執行的最低權限
  1. 例如,使用SQL伺服器管理 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 伺服器資料庫的最低許可執行
  1. 例如,使用SQL伺服器管理 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伺服器 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檔案,並移除您不舒服分享的任何資訊。如果您可以共用,請將檔案上傳至您的 Sup AWS port 案例。HTML如需上傳此檔案的詳細資訊,請參閱使用中的診斷支援指令碼 AWS DMS

使RDS用 Amazon SQL 服務器版,您無法使用 sqlcmd 命令行實用程序進行連接,因此請使用以下程序。

若要執行RDSSQL伺服器資料庫的指令碼
  1. 使用任何可讓您以使用Master者身分連線到RDSSQL伺服器的用戶端工具執行指令碼,並將輸出儲存為HTML檔案。

  2. 查看輸出HTML文件並刪除您不舒服共享的任何信息。如果您可以共用,請將檔案上傳至您的 Sup AWS port 案例。HTML如需上傳此檔案的詳細資訊,請參閱使用中的診斷支援指令碼 AWS DMS