共用方式為


使用複製資料庫精靈

[複製資料庫精靈] 可讓您輕鬆地將資料庫及其物件從一部伺服器移至另一部伺服器,而不需要伺服器停機。 您也可以將資料庫從舊版 SQL Server 升級至 SQL Server 2014。 使用此精靈,您可以執行下列動作:

  • 挑選來源和目的地伺服器。

  • 選取要移動、複製或升級的資料庫。

  • 指定資料庫的檔案位置。

  • 在目的地伺服器上建立登入。

  • 複製其他支援物件、作業、使用者定義預存程式和錯誤訊息。

  • 排程何時要移動或複製資料庫。

除了複製資料庫之外,您還可以從複製的資料庫所需的 master 資料庫複製相關聯的元數據,例如登入和物件。

本主題內容

開始之前

限制與制約

  • Express 版本不提供複製資料庫精靈。

  • 複製資料庫精靈無法用來複製或移動下列資料庫。

    • 系統資料庫

    • 標示為複寫的資料庫。

    • 標示為無法存取、載入、離線、復原、可疑或處於緊急模式的資料庫。

  • 資料庫升級之後,就無法降級為舊版。

  • 若您選取 [移動] 選項,則當移動資料庫之後,精靈會自動刪除來源資料庫。 如果您選取 [複製] 選項,「複製資料庫精靈」就不會刪除來源資料庫。

  • 若您使用 SQL Server 管理物件方法移動全文檢索目錄,則必須在移動之後重新擴展索引。

  • 卸離與附加方法會卸離資料庫、移動或複製資料庫.mdf、.ndf、.ldf 檔案,並將資料庫重新附加至新位置。 對於卸載與附加的方法,為了避免數據遺失或不一致,活動中的會話無法附加至要移動或複製的資料庫。 如果有任何使用中的會話存在,複製資料庫精靈不會執行移動或複製作業。 對於 SQL Server 管理物件方法而言,因為資料庫絕對不會離線,所以允許使用中的工作階段。

先決條件

確定目的地伺服器上已啟動 SQL Server Agent。

建議

  • 若要確保已升級資料庫的最佳效能,請對升級的資料庫執行sp_updatestats(更新統計數據)。

  • 當您將資料庫複製到另一個伺服器實例時,若要為使用者和應用程式提供一致的體驗,您可能必須在其他伺服器實例上重新建立資料庫的某些或所有元數據,例如登入和作業。 如需詳細資訊,請參閱在另一個伺服器執行個體 (SQL Server) 上提供可用的資料庫時管理中繼資料

安全

權限

您必須在來源伺服器與目的地伺服器上成為 系統管理員 (sysadmin) 固定伺服器角色的成員。

複製、移動或升級資料庫

  1. 在 SQL Server Management Studio 的 [物件總管] 中,展開 [ 資料庫],以滑鼠右鍵按兩下資料庫,指向 [ 工作],然後按兩下 [ 複製資料庫]。

  2. 從 [ 選取來源伺服器 ] 頁面,指定要移動或複製之資料庫的伺服器,然後輸入登入資訊。 選取驗證方法並輸入登入信息之後,請按兩下 一步 , 以建立來源伺服器的連線。 在整個工作階段中,此連接會保持開啟。

    來源伺服器
    選取您要移動或複製之資料庫所在的伺服器名稱,或按覽 (...) 按鈕以找出您想要的伺服器。 該伺服器必須至少為 SQL Server 2005。

    [使用 Windows 驗證]
    允許使用者透過Microsoft Windows 用戶帳戶進行連線。

    [使用 SQL Server 驗證]
    提供 SQL Server 驗證使用者名稱和密碼,以允許用戶連線。

    使用者名稱
    輸入要連線的用戶名稱。 只有在您已選取使用 SQL Server 驗證 進行連線時,才能使用此選項。

    密碼
    輸入登入的密碼。 只有在您已選取使用 SQL Server 驗證進行連線時,才能使用此選項。

    下一步
    線上到伺服器並驗證使用者。 此程式會檢查使用者是否為所選計算機上 系統管理員 固定伺服器角色的成員。

  3. 從 [ 選取目的地伺服器 ] 頁面,指定將移動或複製資料庫的伺服器。 如果您將來源和目的地伺服器設定為相同的伺服器實例,您將會建立資料庫的複本。 在此情況下,您必須在精靈的稍後點重新命名資料庫。 只有當目的地伺服器上沒有名稱衝突時,才可以將來源資料庫名稱用於複製或移動的資料庫。 如果有名稱衝突存在,您必須先手動解決目的地伺服器上的衝突,然後才能在這裡使用來源資料庫名稱。

    目的地伺服器
    選取資料庫或資料庫要移動或複製的伺服器名稱,或按覽 (...) 按鈕來尋找目的地伺服器。

    備註

    您可以使用屬於叢集伺服器的目的地。「複製資料庫精靈」將會確保您只能選取叢集目的地伺服器上的共用磁碟機。

    [使用 Windows 驗證]
    允許使用者透過Microsoft Windows 用戶帳戶進行連線。

    [使用 SQL Server 驗證]
    提供 SQL Server 驗證使用者名稱和密碼,以允許用戶連線。

    使用者名稱
    輸入要連線的用戶名稱。 只有在您已選取 [SQL Server 驗證] 時,才能使用此選項。

    密碼
    輸入登入的密碼。 只有在您已選取 [SQL Server 驗證] 時,才能使用此選項。

    下一步
    線上到伺服器並驗證使用者。 此程式會檢查使用者是否具有上述所選計算機上所列的許可權。

  4. 從 [ 選取傳送方法] 頁面,選取傳輸方法。

    使用分離和連接方法
    將資料庫從來源伺服器中斷連結、將資料庫檔案 (.mdf、.ndf 和 .ldf) 複製到目的地伺服器,並將資料庫附加至目的地伺服器。 此方法通常是比較快速的方法,因為它的主要工作是讀取來源磁碟和寫入目的地磁碟。 不需要 SQL Server 邏輯在資料庫中建立物件,或建立資料儲存結構。 不過,如果資料庫包含大量已配置但未使用的空間,此方法就會比較慢。 例如,新的且實際上幾乎是空的資料庫,在建立時若配置 100 MB,即使資料只填滿 5 MB,也會複製全部 100 MB。

    備註

    此方法讓使用者在傳送期間無法使用資料庫。

    如果發生失敗,請重新附加源資料庫
    複製資料庫時,一律會將原始資料庫檔案重新附加至來源伺服器。 無法完成資料庫移動時,使用這個方塊即可將原始檔案重新附加至來源資料庫。

    使用 SQL 管理物件方法
    這個方法會讀取來源資料庫上的每個資料庫物件的定義,然後在目的地資料庫中建立每個物件。 接著它會從來源資料表傳送資料到目的地資料表,重新建立索引與中繼資料。

    備註

    在傳送期間,資料庫使用者可以繼續存取資料庫。

  5. 從 [ 選取資料庫] 頁面,選取您要從來源伺服器移動或複製到目的地伺服器的資料庫。 請參閱本主題「開始之前」部分中的限制與約束

    移動
    移動資料庫至目的地伺服器。

    複製
    複製資料庫至目的地伺服器。

    來源
    顯示存在於來源伺服器上的資料庫。

    狀態
    如果可以移動資料庫,則顯示 [確定 ]。 否則會顯示無法移動資料庫的原因。

    重新整理
    重新整理資料庫清單。

    下一步
    啟動驗證程式,然後移至下一個畫面。

  6. 從 [ 設定目的地資料庫] 頁面,視需要變更資料庫名稱,並指定資料庫檔案的位置和名稱。 每次移動或複製各個資料庫時,就會出現此頁面。

  7. 從 [ 選取資料庫物件] 頁面,選取要包含在移動或複製作業中的物件。 此頁面只能在來源和目的地是不同的伺服器時使用。 若要包含物件,請按兩下 [可用的相關物件 ] 方塊中的物件名稱,然後按下 >> 按鈕將物件移至 [ 選取的相關物件 ] 方塊。 若要排除物件,請按兩下 [ 選取的相關物件 ] 方塊中的物件名稱,然後按下 << 按鈕將物件移至 [可用的相關物件 ] 方塊。 根據預設,屬於所選取類型的所有物件都會傳送。 若要選擇任何類型的個別物件,請按兩下 [ 選取相關物件 ] 方塊中任何物件類型旁的省略號按鈕。 這會開啟一個對話方塊,其中您可以選取個別物件。

    登入(執行時間的所有登入)
    在移動或複製作業中包含登入資訊。 預設選取

    master 資料庫的預存程式
    在移動或複製作業中包含 master 資料庫中的預存程式。

    備註

    擴充預存程序及其相關聯的 DLL 不適合自動複製。

    SQL Server Agent 作業
    在移動或複製作業中包含 msdb 資料庫中的作業。

    使用者定義的錯誤訊息
    在移動或複製作業中包含使用者定義的錯誤訊息。

    端點
    包含源資料庫中定義的端點。

    全文檢索目錄
    將源資料庫中的全文目錄納入。

    SSIS 套件
    包含源資料庫中定義的 SSIS 套件。

    說明
    物件的描述。

  8. 從 [ 源資料庫檔案的位置 ] 頁面,指定包含來源伺服器上資料庫檔案的檔案系統共用。 如果來源和目的地伺服器實例位於不同的計算機上,則需要此專案。

    資料庫
    顯示要移動的每個資料庫的名稱。

    資料夾位置
    指定檔案系統上源資料庫檔案的位置。

    例如:C:\Program Files\Microsoft SQL Server\MSSQL110。MSSQLSERVER\MSSQL\DATA

    來源伺服器上的檔案共用
    指定源資料庫檔案的位置做為檔案共享的路徑。

    例如:“\\server_name\C$\Program Files\Microsoft SQL Server\MSSQL110。MSSQLSERVER\MSSQL\Data

  9. 複製資料庫精靈會建立 SSIS 套件,以從 [ 設定封裝 ] 頁面傳輸資料庫,並視需要自定義封裝。

    封裝位置
    顯示將寫入 SSIS 封裝的位置。

    封裝名稱
    輸入 SSIS 套件的名稱。

    記錄選項
    選取是要將記錄資訊儲存在 Windows 事件記錄檔中,還是儲存在文字檔中。

    錯誤記錄檔路徑
    提供記錄檔位置的路徑。 只有在已選取文字檔案登入選項時,才能使用此選項。

  10. 排程封裝 頁面中,指定您希望移動或複製作業開始的時間。 如果您不是系統管理員,您必須指定可存取 Integration Services (SSIS) 封裝執行子系統的 SQL Server Agent Proxy 帳戶。

    立即執行
    按兩下 [ 下一步] 之後,啟動移動或複製作業。

    排程
    稍後啟動移動或複製作業。 目前的排程設定會出現在 [描述] 方塊中。 若要變更排程,請按兩下 [變更]。

    變更
    開啟 [ 新增作業排程] 對話框。

    Integration Services Proxy 帳戶
    選取可用的 Proxy 帳戶。 若要排程傳輸,用戶必須至少有一個 Proxy 帳戶,且該帳戶已配置 SQL Server Integration Services 封裝執行 子系統的許可權。

    若要建立 SSIS 套件執行的 Proxy 帳戶,請在 [物件總管] 中,依序展開 [SQL Server Agent]、[ Proxy]、以滑鼠右鍵單擊 [SSIS 封裝執行],然後按兩下 [ 新增 Proxy]。

    系統管理員固定伺服器角色的成員可以選取具有必要許可權的 SQL Server Agent 服務帳戶

  11. 完成向導頁面,瀏覽所選選項的摘要。 按返回以變更選項。 按兩下 [完成 ] 以建立資料庫。 傳輸期間,[ 執行作業 ] 頁面會監視 複製資料庫精靈執行的狀態資訊。

    行動
    列出每個執行的動作。

    狀態
    表示動作完全成功或失敗。

    訊息
    提供每個步驟所傳回的任何訊息。

後續行動:升級 SQL Server 資料庫之後

使用複製資料庫精靈將資料庫從舊版 SQL Server 升級至 SQL Server 2014 之後,資料庫會立即可供使用,並會自動升級。 如果資料庫具有全文檢索索引,升級程序就會根據 [全文檢索目錄升級選項] 伺服器屬性的設定,匯入、重設或重建這些索引。 如果升級選項設定為 [ 入] 或 [ 重建],在升級期間將無法使用全文檢索索引。 根據進行索引的資料數量而定,匯入可能需要數個小時,而重建可能需要十倍以上的時間。 此外,請注意,當升級選項設定為 [匯入] 時,如果全文檢索目錄無法使用,系統就會重建相關聯的全文檢索索引。 如需有關檢視或變更 全文檢索目錄升級選項 屬性設定的詳細資訊,請參閱 管理及監視伺服器執行個體的全文檢索搜尋

如果使用者資料庫的相容性層級在升級前為 100 或更高層級,則在升級後仍會保持相同。 如果升級資料庫中的相容性層級為 90,相容性層級會設定為 100,這是 SQL Server 2014 中支援的最低相容性層級。 如需詳細資訊,請參閱 ALTER DATABASE 相容性層級 (Transact-SQL)

另請參閱

使用卸離與附加升級資料庫 (Transact-SQL)
建立 SQL Server Agent Proxy