我想在兩個 Amazon Relational Database (Amazon RDS) for Microsoft SQL Server 執行個體之間遷移 SQL Server 登入名稱和密碼。或者,我想從內部部署環境遷移登入名稱,或將登入名稱遷移至內部部署環境。
解決方法
**注意:**如需複製主要使用者登入資料的操作說明,請參閱如何複製 RDS for SQL Server 使用者的登入權限?
在 RDS for SQL Server 執行個體之間轉移 SQL Server 登入資料
若要將登入資料和密碼轉移到新的目標 RDS 執行個體,請完成以下步驟:
- 為來源執行個體建立快照。
- 請為目標執行個體指定新名稱,再還原該快照。
- 移除不再需要的登入資料與資料庫。
若目標 RDS 執行個體已存在,請按照下一節的流程轉移登入資料。
將登入資料從 RDS for SQL Server 轉移至內部部署環境
**注意:**以下解決方案都需要您手動輸入密碼。RDS 不允許您直接擷取登入資料的加密密碼。
方法 1
- 在任一使用者資料庫中建立 sp_help_revlogins 預存程序。如需預存程序指令碼,請參閱 Microsoft 網站上,在 SQL Server 執行個體之間轉移登入資料與密碼一文中的方法 2。
- 執行預存程序,為來源執行個體上的登入資料產生指令碼。
**注意:**若在主要資料庫中建立預存程序,會出現以下錯誤:
"Msg 262, Level 14, State 18, Procedure sp_hexadecimal, Line 1 [Batch Start Line 5]CREATE PROCEDURE permission denied in database 'master'"
為避免發生此錯誤,請改在其中一個使用者資料庫中建立該程序。在目標執行個體建立登入資料後,請重設密碼,以免密碼不一致。
方法 2
若要手動建立登入資料,或透過 Microsoft SQL Server Management Studio (SSMS) 為登入資料產生指令碼,請依序執行以下步驟:
- 在 SSMS 中開啟安全性預留位置,然後將其展開。
- 選取登入資料,然後按下 F7 鍵。或者,選擇 Object explorer details (物件總管詳細資料),此選項位於 View (檢視) 功能表中。
- 按住 Ctrl 鍵,選取您要遷移的登入資料
- 選取必要的登入資料後,在畫面上按一下滑鼠右鍵。接著,選擇 Script Login as (將登入編寫為指令碼),以開啟新的查詢視窗。
- 複製用來建立登入資料的指令碼。接著,替換密碼,並在目的地執行個體上執行該指令碼。如需預存程序指令碼,請參閱 Microsoft 網站上,在 SQL Server 執行個體之間轉移登入資料與密碼一文中的方法 1。
將登入資料和密碼從內部部署環境轉移至 RDS for SQL Server
請在來源伺服器 (內部部署) 上執行以下步驟:
- 為內部部署伺服器上的所有登入資料產生建立登入資料的指令碼。如需預存程序指令碼,請參閱 Microsoft 網站上,在 SQL Server 執行個體之間轉移登入資料與密碼一文中的方法 2。
- 建立預存程序後,請開啟新的 T-SQL 視窗。接著,使用以下命令執行該預存程序。
**注意:**執行指令碼前,請按下鍵盤上的 Ctrl+T,確認結果採用文字格式。
EXEC [sp_help_revlogin]
此查詢會輸出一段指令碼,用於在目的地伺服器建立具有原始 SID 與密碼的登入資料。
請在目的地伺服器上執行以下步驟:
- 使用主要使用者帳戶連線至 RDS for SQL Server 執行個體。
- 執行在來源伺服器 (內部部署) 上一節中,步驟 2 產生的指令碼 (sp_help_revlogin 的輸出)。
**注意:**您無法將 sysadmin 存取權限授予 RDS 中的登入資料。因此,將具備 sysadmin 權限的登入資料遷移至 RDS 時,系統不會自動授予這些登入資料存取權限。您必須明確授予這些登入資料所需的權限。
若要查看 RDS 使用者可用的權限,請參閱主要使用者帳戶權限。
疑難排解主要帳戶的權限問題
確認您的主要使用者名稱
- 開啟 Amazon Aurora and RDS console (Amazon Aurora 和 RDS 主控台)。
- 在導覽窗格中,選擇 Databases (資料庫)。
- 選擇您要查詢主要使用者名稱的 RDS 資料庫執行個體。
- 開啟 Configuration (組態) 索引標籤。主要使用者名稱會顯示在 Availability (可用性) 區段中。
重設主要使用者密碼或恢復主要使用者權限
若要取得重設主要使用者密碼的說明,請參閱如何為 Amazon RDS 資料庫執行個體重設主要使用者密碼?