本節說明如何在 SQL Server 遷移助理(SSMA)中保護資料庫密碼,以及如何跨伺服器匯入或匯出密碼。
保護你的密碼
SSMA 讓你能保護資料庫密碼的安全。 請使用以下方法實作安全連線。
備註
如果伺服器連線檔案的伺服器區段或腳本檔沒有密碼,或密碼在本地機器上沒有安全,SSMA 會提示你輸入密碼。
純文字
在節點的 password 值屬性中輸入資料庫密碼。 你可以在腳本檔案的 伺服器 區段或伺服器連線檔案中,找到這個節點。
明文密碼並不安全。 因此,你會在主控台輸出中看到以下警告訊息:
Server <server-id> password is provided in non-secure clear text form, SSMA Console application provides an option to protect the password through encryption, please see -securepassword option in SSMA help file for more information.
這很重要
你在腳本或伺服器連線檔案中指定的明文密碼,優先於加密密碼在安全檔案中。
加密密碼
指定的密碼以加密形式儲存在本地機器上 ProtectedStorage.ssma。
密碼安全
在命令列上執行
SSMAforAccessConsole.exe並使用-securepassword和add切換,然後傳遞伺服器定義區段中包含密碼節點的伺服器連線或腳本檔。在提示時輸入資料庫密碼並確認。
每個伺服器定義 ID 及其對應的加密密碼都儲存在本地機器上的一個檔案中。
範例 1:
請指定密碼:
C:\SSMA\SSMAforAccessConsole.exe -securepassword -add all -s "D:\Program Files\Microsoft SQL Server Migration Assistant for Access\Sample Console Scripts\AssessmentReportGenerationSample.xml" -v "D:\Program Files\Microsoft SQL Server Migration Assistant for Access\Sample Console Scripts\ VariableValueFileSample.xml"
輸入並依照提示確認密碼。
範例2:
請指定密碼:
C:\SSMA\SSMAforAccessConsole.exe -securepassword -add "source_1,target_1" -c "D:\Program Files\Microsoft SQL Server Migration Assistant for Access\Sample Console Scripts\ServersConnectionFileSample.xml" - v "D:\Program Files\Microsoft SQL Server Migration Assistant for Access\Sample Console Scripts\ VariableValueFileSample.xml" -o
輸入並依照提示確認密碼。
移除加密密碼
在命令列中執行 SSMAforAccessConsole.exe 和 -securepassword-remove 切換,將每個伺服器 ID 以逗號分隔的清單傳遞,以移除本地機器受保護儲存檔案中的加密密碼。
C:\SSMA\SSMAforAccessConsole.exe -securepassword -remove all
C:\SSMA\SSMAforAccessConsole.exe -securepassword -remove "source_1,target_1"
列出密碼加密的伺服器 ID
在命令列使用 SSMAforAccessConsole.exe 運行,並搭配 -securepassword 和 -list 開關,以列出其密碼已加密的每個伺服器的 ID。
C:\SSMA\SSMAforAccessConsole.exe -securepassword -list
匯出或匯入加密密碼
你可以使用 SSMA Console 應用程式,將本地機器上的檔案匯出加密資料庫密碼到安全檔案,反之亦然。 這個過程使加密密碼機器變得獨立。 匯出功能會從本地受保護的儲存裝置讀取伺服器 ID 與密碼,並將資訊儲存在加密檔案中。 系統會提示你輸入該安全檔案的密碼。 請確保輸入的密碼是八個字元或以上。 你可以將這個安全檔案移植到不同機器之間。 匯入功能會從安全檔案讀取伺服器 ID 和密碼資訊。 系統會提示你輸入該安全檔案的密碼。 此程序會將資訊附加到本地受保護的儲存裝置。
匯出密碼
要匯出所有伺服器的密碼,請使用以下範例:
C:\SSMA\SSMAforAccessConsole.exe -securepassword -export all "machine1passwords.file"輸入密碼保護匯出後的檔案,然後確認。
要匯出兩台伺服器的密碼,請使用以下範例:
C:\SSMA\SSMAforAccessConsole.exe -p -e "AccessDB_1_1,Sql_1" "machine2passwords.file"輸入密碼保護匯出後的檔案,然後確認。
匯入加密密碼
要匯入所有伺服器的密碼,請使用以下範例:
C:\SSMA\SSMAforAccessConsole.exe -securepassword -import all "machine1passwords.file"輸入密碼以從加密檔案匯入伺服器,然後確認。
要匯入兩台伺服器的密碼,請使用以下範例:
C:\SSMA\SSMAforAccessConsole.exe -p -i "AccessDB_1,Sql_1" "machine2passwords.file"輸入密碼以匯入加密檔案中的伺服器,然後確認密碼。