管理密码 (Db2ToSQL)

本部分介绍如何保护 SQL Server 迁移助手 (SSMA) 中的数据库密码,以及跨服务器导入或导出这些密码的过程。

保护密码

可以通过 SSMA 保护数据库的密码。

按照以下过程创建安全连接:

使用以下方法之一指定有效的密码:

  1. 明文: 在节点的值属性 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.
    
  2. 加密密码: 在这种情况下,指定的密码以加密形式存储在本地计算机上的本地 ProtectedStorage.ssma计算机上。

    • 保护密码

      • 在命令行执行 SSMAforDb2Console.exe-securepassword 和 add 开关,该命令行会传递服务器连接或包含服务器定义部分中密码节点的脚本文件。

      • 出现提示时,系统会要求用户输入数据库密码并加以确认。

        服务器定义 ID 及其相应的加密密码存储在本地计算机的文件中

        示例 1:

        Specify password
        C:\SSMA\SSMAforDb2Console.exe -securepassword -add all -s "D:\Program Files\Microsoft SQL Server Migration Assistant for Db2\Sample Console Scripts\AssessmentReportGenerationSample.xml" -v "D:\Program Files\Microsoft SQL Server Migration Assistant for Db2\Sample Console Scripts\ VariableValueFileSample.xml"
        
        Enter password for server_id 'XXX_1'.
        
        Re-enter password for server_id 'XXX_1'.
        

        示例 2:

        C:\SSMA\SSMAforDb2Console.exe -securepassword -add "source_1,target_1" -c "D:\Program Files\Microsoft SQL Server Migration Assistant for Db2\Sample Console Scripts\ServersConnectionFileSample.xml" - v "D:\Program Files\Microsoft SQL Server Migration Assistant for Db2\Sample Console Scripts\ VariableValueFileSample.xml" -o
        
        Enter password for server_id 'source_1'.
        
        Re-enter password for server_id 'source_1'.
        
        Enter password for server_id 'target_1'.
        
        Re-enter password for server_id 'target _1'.
        
    • 删除加密的密码

      在传递服务器 ID 的命令行执行 SSMAforDb2Console.exe-securepassword-remove 开关,从本地计算机上的受保护存储文件中删除加密密码。

      示例:

      C:\SSMA\SSMAforDb2Console.exe -securepassword -remove all
      C:\SSMA\SSMAforDb2Console.exe -securepassword -remove "source_1,target_1"
      
    • 列出其密码已加密的服务器 ID

      使用SSMAforDb2Console.exe命令行执行并-securepassword-list切换,列出其密码已加密的所有服务器 ID。

      示例:

      C:\SSMA\SSMAforDb2Console.exe -securepassword -list
      

脚本或服务器连接文件中提及的明文密码优先于安全文件中的加密密码。

如果服务器连接文件或脚本文件的服务器部分中不存在密码,或者在本地计算机上没有密码,控制台会提示你输入密码。

导出或导入加密的密码

SSMA 控制台应用程序允许将本地计算机上的文件中存在的加密数据库密码导出到安全文件,反之亦然。 该应用程序有助于让加密密码与计算机独立开来。

导出功能 从本地受保护的存储中读取服务器 ID 和密码。 然后,系统将 ID 和密码保存在加密文件中。 系统会提示用户输入安全文件的密码。 请确保输入的密码长度为 8 个字符或更多个字符。 此安全文件可在不同的计算机之间移植。

导入功能 从安全文件读取服务器 ID 和密码信息。 系统会提示用户输入安全文件的密码,并将信息追加到本地受保护的存储中。

导出示例

  1. 导出密码。
  2. 输入用于保护导出文件的密码。
  3. 运行:C:\SSMA\SSMAforDb2Console.exe -securepassword -export all "machine1passwords.file"
  4. 输入用于保护导出文件的密码。
  5. 确认该密码。
  6. 运行:C:\SSMA\SSMAforDb2Console.exe -p -e "Db2DB_1_1,Sql_1" "machine2passwords.file"
  7. 输入用于保护导出文件的密码:
  8. 确认该密码。

导入示例

  1. 导入加密密码。
  2. 输入用于保护导入文件的密码。
  3. 运行:C:\SSMA\SSMAforDb2Console.exe -securepassword -import all "machine1passwords.file"
  4. 输入密码以从加密文件导入服务器。
  5. 确认该密码。
  6. 运行:C:\SSMA\SSMAforDb2Console.exe -p -i "Db2DB_1,Sql_1" "machine2passwords.file"
  7. 输入密码以从加密文件导入服务器。
  8. 确认密码。