本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以在下面找到診斷支援指令碼的描述,可用於分析 AWS DMS 遷移組態中的內部部署或 Amazon RDS for SQL Server 資料庫。這些指令碼可與來源或目標端點搭配使用。對於內部部署資料庫,請在 sqlcmd 命令列公用程式中執行這些指令碼。如需使用此公用程式的相關資訊,請參閱 Microsoft 說明文件中的 sqlcmd - 使用公用程式
對於 Amazon RDS 資料庫,您無法使用 sqlcmd 命令列公用程式進行連線。而是使用任何連線到 Amazon RDS SQL Server 的用戶端工具來執行這些指令碼。
在執行指令碼之前,請確定您使用的使用者帳戶具有存取 SQL Server 資料庫的必要許可。對於內部部署和 Amazon RDS 資料庫,您可以使用與存取 SQL Server 資料庫相同的許可,而不需要使用 SysAdmin
角色。
設定內部部署 SQL Server 資料庫的最低許可
若要設定針對內部部署 SQL Server 資料庫執行的最低許可
-
使用 SQL Server Management Studio (SSMS) 建立有密碼驗證的新 SQL Server 帳戶,例如
。on-prem-user
-
在 SSMS 的使用者對應區段中,選擇 MSDB 和 MASTER 資料庫 (提供公有許可),並指派您想要執行此指令碼之資料庫的
DB_OWNER
角色。 -
開啟新帳戶的內容 (按一下滑鼠右鍵) 選單,選擇安全並明確授予
Connect SQL
權限。 -
執行下列授予命令。
GRANT VIEW SERVER STATE TO
on-prem-user
; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TOon-prem-user
; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TOon-prem-user
; GRANT SELECT ON MSDB.DBO.BACKUPFILE TOon-prem-user
;
設定 Amazon RDS SQL Server 資料庫的最低許可
若要使用 Amazon RDS SQL Server 資料庫的最低許可執行
-
使用 SQL Server Management Studio (SSMS) 建立有密碼驗證的新 SQL Server 帳戶,例如
。rds-user
-
在 SSMS 的使用者對應區段中,選擇 MSDB 資料庫 (提供公有許可),並指派您想要執行此指令碼之資料庫的
DB_OWNER
角色。 -
開啟新帳戶的內容 (按一下滑鼠右鍵) 選單,選擇安全並明確授予
Connect SQL
權限。 -
執行下列授予命令。
GRANT VIEW SERVER STATE TO
rds-user
; USE MSDB; GRANT SELECT ON MSDB.DBO.BACKUPSET TOrds-user
; GRANT SELECT ON MSDB.DBO.BACKUPMEDIAFAMILY TOrds-user
; GRANT SELECT ON MSDB.DBO.BACKUPFILE TOrds-user
;
SQL Server 支援指令碼
下列主題說明如何下載、檢閱及執行適用於 SQL Server 的每個支援指令碼。其中也會說明如何檢閱指令碼輸出,並將其上傳至 AWS Support 案例。
awsdms_support_collector_sql_server.sql 指令碼
下載 awsdms_support_collector_sql_server.sql
注意
只在 SQL Server 2014 及更高版本上執行此 SQL Server 診斷支援指令碼。
這個指令碼會收集 SQL Server 資料庫組態的相關資訊。請記得驗證指令碼上的總和檢查,且如果總和檢查已驗證,請檢閱指令碼中的 SQL 程式碼,將您不希望執行的任何程式碼加上註解。您對指令碼的完整性和內容感到滿意之後,就可以執行該指令碼。
若要執行內部部署 SQL Server 資料庫的指令碼
-
使用以下 sqlcmd 命令列來執行此指令碼。
sqlcmd -U
on-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 資料庫名稱。
-
-
指令碼完成後,請檢閱輸出的 HTML 檔案,並移除您不希望分享的任何資訊。當 HTML 可供您共用時,請將檔案上傳至您的 AWS 支援案例。如需上傳此檔案的詳細資訊,請參閱在 中使用診斷支援指令碼 AWS DMS。
使用 Amazon RDS for SQL Server 時,您無法使用 sqlcmd 命令列公用程式進行連線,因此請使用下列程序。
若要執行 RDS SQL Server 資料庫的指令碼
-
使用任何可讓您以
Master
使用者身分連線到 RDS SQL Server 的用戶端工具來執行指令碼,並將輸出儲存為 HTML 檔案。 -
檢閱輸出的 HTML 檔案,並移除您不希望分享的任何資訊。當 HTML 可供您共用時,請將檔案上傳至您的 AWS 支援案例。如需上傳此檔案的詳細資訊,請參閱在 中使用診斷支援指令碼 AWS DMS。