本部分介绍如何在 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 控制台应用程序将加密的数据库密码从本地计算机上的文件导出到受保护的文件,反之亦然。 此过程使加密的密码计算机独立。 导出功能从本地受保护的存储中读取服务器 ID 和密码,并将信息保存在加密文件中。 系统会提示输入安全文件的密码。 请确保输入的密码为 8 个字符或更多。 可以将此安全文件移植到不同的计算机上。 导入功能从安全文件读取服务器 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"输入密码以从加密文件导入服务器,然后确认。