SQL Server 2005 Analysis Services 的備份策略 - Microsoft TechNet: SQL Server TechCenter

發佈日期: 2005 年 8 月 23 日

由 作者:Edward Melomed

摘要:本白皮書將簡短討論幾個有關執行 Analysis Services Backup 命令的問題,引導您學習選擇正確的備份策略、學習 Backup 命令所提供的各種選項,以及透過相關範例學習將 Analysis Services 備份自動化。

本頁內容

概觀
備份使用者介面
Backup 命令
備份策略
備份效能考量
利用 SQL Server 代理程式作業將備份自動化

概觀

備份和還原作業屬於 Analysis Services 基礎結構中不可或缺的一部份。在 Microsoft® SQL Server™ 2005 Analysis Services 中,備份作業已經完全重建。

我們先參考下圖,看看 Analysis Services、備份和資料檔之間的互動:

圖 1

圖 1

藉著 XML 對 Analysis Services 發出 Analysis 命令,達到備份和還原的目的。

收到 Backup 命令之後,Analysis Services 會決定哪些檔案需要封裝到同一個備份檔中,此並在執行備份和還原時兼顧資料庫的一致性。Analysis Services 還會確認備份檔中所有的物件都出自同一個版本。

講到這,不能不提備份和還原的仔細程度。備份時是把整個 Analysis Services 資料庫備份到一個檔案中,還原時也是將整個資料庫一起還原。

備份使用者介面

要了解備份功能,最簡單的方式就是先從 SQL Server Management Studio 所提供的備份使用者介面著手。

若要使用備份使用者介面:

  1. 啟動 SQL Server Management Studio。

  2. 開啟 Analysis Services 伺服器的連線。

  3. 用滑鼠右鍵按一下您要備份的資料庫,然後選取 [Back up]。

    這時候會出現 [圖 2] 所示的 [備份資料庫] 對話方塊,您可以設定其中幾項設定。

    Dd159896.bkupssas02(zh-tw,TechNet.10).gif

    圖 2
  4. 輸入備份檔的名稱和位置。

  5. 如果您要將備份檔加密,請選取 [Encrypt backup file],然後輸入密碼。

  6. 您可以編寫 Backup 命令的指令碼。請按一下對話方塊最上面的 [Script],取得如下所示的指令碼:

    <Backup xmlns="http://schemas.microsoft.com/analysisservices/2003/engine"> 
      <Object> 
        <DatabaseID>FoodMart 2000</DatabaseID> 
      </Object> 
      <File>FoodMart 2000.abf</File> 
    </Backup>
    

    執行這個指令碼,即可將資料庫備份到 FoodMart 2000.abf 檔中,該檔所在的預設位置是 C:\Program Files\Microsoft SQL Server\MSSQL.1\OLAP\Backup 資料夾。

Backup 命令

Backup 命令的 DDL 如下所示:

object_refBackupFile [true/false] [true/false] [            [BackupFileDatasource ID]       ] [true/false] [Password] 

您可以利用 Backup 命令的 Location 引數,來控制在使用遠端磁碟分割時,光一個 Backup 命令是否能夠備份位於多個伺服器的一個資料庫。

如 [圖 3] 所示,如果您的從屬伺服器含有遠端磁碟分割,則可將 Backup 命令傳送到主要伺服器,並且在 Locations 引數指定正確的資訊,讓一個 Backup 命令備份整個資料庫。此舉會使主要伺服器和從屬伺服器建立兩個備份檔,有這兩個檔案構成整個備份。

圖 3

圖 3

Backup 命令選項

您可以指定是否讓備份作業壓縮資料檔。此舉通常不會對磁碟分割檔有太大的幫助,主要是因為它們已經以壓縮格式儲存了。不過,對於掌管維度的檔案來說,倒是可以節省一些空間,尤其如果您在維度中使用大量字串的話更有幫助。

密碼選項可以指定是否要將備份檔加密。Analysis Services 並不會儲存您所輸入的密碼,將它保管在安全的地方是資料庫管理員的責任。

備份策略

您必須選對備份 Analysis Services 資料庫的策略。如果選錯策略又做了不少備份作業,可能就會浪費大量備份空間。或者發現備份不夠新時已經已經遺失不少資料了。

您必須瞭解 Analysis Server 物件的儲存模式。

如果資料庫中所有的磁碟分割和維度都使用 OLAP 儲存模式 (與 ROLAP 和 HOLAP 相反),則匯入到 Analysis Services 資料庫中的資料只會在處理時變更。因此在處理之後立刻備份資料,也就不無道理了。

如果您對 Analysis Services 資料庫中的物件是採用 ROLAP 或 HOLAP 儲存模式,應該就能瞭解 Analysis Services 不會真的儲存資料。Analysis Services 會動態讀取最近所做的更新以及最新的資料,

因此,最需要備份的資訊並不是 Analysis Services 儲存的資料,而是物件定義。

如果您的資料庫完全採用 ROLAP,則可以發出相同的 Backup 命令,將資料庫備份到較小的檔案。

如果是採用 HOLAP 或是某種主動式的快取方案,就可以利用 Analysis Management Objects (AMO) 提供的介面來編寫資料庫物件的指令碼進行備份,輕鬆簡單極了。這時您要備份的只不過是資料庫重新上線時就可以重建的快取。

甚至如果您已經備份關聯式資料庫,而且非常確定在還原資料倉儲的關聯部份後可以重新處理 Analysis Services 資料庫,

那麼為了節省備份所需的空間和時間,您可以考慮只備份資料庫的 Create 陳述式。

請注意,Analysis Services 資料庫一經徹底重建,就必須完全重新處理。 因此務必先測試還原程序,確保自己能夠全部還原之後,再選擇這項策略。

回寫

如果您要使用 Analysis Services 的回寫功能,請務必先備份關聯式回寫資料表。

查詢記錄

如果您要利用查詢記錄收集資料庫的統計資料,以便稍後採用根據用量的分析方式將查詢效能發揮極致,您應該將查詢記錄表一併備份。

請注意,查詢記錄表含有伺服器所有資料庫的相關資訊。查詢記錄表一旦還原,所有資料庫的統計資料也將全部重設。

您可以使用查詢記錄表中的 [資料庫] 欄,找出與資料庫相關的資訊,只備份這些資訊。

備份安全性

備份作業是由 Analysis Services 管理員或資料庫管理員負責執行。

備份效能考量

Analysis Services 在備份時執行的作業主要有兩種:

  1. 找出哪些檔案要傳送到備份檔中。

  2. 建立備份檔。

第一個作業相當快速,您在這個階段幾乎看不到明顯的處理器活動。

第二個作業則是大量 I/O 密集的作業。

接著 Analysis Services 就開始將資料檔傳送到備份檔中。

您可以把備份檔置於另一個磁碟機,提高備份作業的效能,同時防止讀取與寫入作業互相衝突。

備份作業會在它所運作的資料庫取得讀取鎖定。雖然您可以啟動處理作業,不過處理作業無法在備份完成之前進行認可。

原始備份

在某些情況下,您可以備份整個資料夾,以確保能夠從災害中復原。

有的 SQL Server 2000 Analysis Services 客戶就是採用這個方法來備份系統。

不過在 SQL Server 2005 Analysis Services 中,我們並不建議您採用這個方法,除非您已經對設定做過徹底的分析,並且確實解決所有必須留意的問題。

下面我們將列出幾個需要注意的問題範例。

  • 您可以備份含所有 Analysis Services 資料的整個資料夾,而不只是備份一個資料庫。

  • 不過,在磁碟分割使用 StorageLocation 屬性時,必須追蹤所有您置於檔案系統不同位置的磁碟分割。

  • 如果您是使用遠端磁碟分割,而且要還原異名電腦上的資料夾,則必須確實調整所有指定遠端磁碟分割位置所用的資料來源。

利用 SQL Server 代理程式作業將備份自動化

若要將 Analysis Services 備份自動化,有幾種方法可以採用。

我們先看看 SQL Server 代理程式作業所提供的自動化。

若要利用 SQL Server 代理程式作業來管理備份:

  1. 以滑鼠右鍵按一下 SQL Server Management Studio 中 SQL Server 代理程式下面的 [作業] 節點,開始建立新作業。

    這時候應該會出現 [圖 4] 所示的對話方塊。

    Dd159896.bkupssas04(zh-tw,TechNet.10).gif

    圖 4
  2. 為 [名稱] 文字方塊中的作業命名。

  3. 按一下左窗格中的 [步驟] 節點,再按一下 [新增],在作業建立新的步驟。這時候應該會出現 [圖 5] 所示的對話方塊。

  4. 為該步驟命名,並且選擇步驟類型 [SQL Server Analysis Services 命令]。

  5. 輸入您要執行這個命令的 Analysis Services 伺服器名稱。然後再剪下您要執行的 Backup 命令,將它貼到 [命令] 視窗中。

    Dd159896.bkupssas05(zh-tw,TechNet.10).gif

    圖 5
  6. 按一下 [新增作業步驟] 對話方塊中的 [確定] (圖 5),然後再按一下 [新增作業] 對話方塊中的 [確定] (圖 4)。

  7. 回到 SQL Management Studio,這時候就會看到您剛剛為作業建立的新節點。

  8. 以滑鼠右鍵按一下這個新節點加以啟動。

    這時候應該會出現一個進度對話方塊,接著是您所建立的備份。

從這裡開始,您就可以完全發揮 SQL Server 代理程式的威力來管理作業了。

比方說,另外加入一個步驟,將資料庫檔案複製到安全的地方等等。

SQL Server 代理程式也可以讓您查看執行作業的歷史,並且另外提供其他幾種很棒的功能。

當您學會 Backup 命令所有的選項之後,請選擇適合的備份策略,並且確定自動化指令碼能夠正常運作。萬一發生什麼狀況時,才能應對自如,不致手忙腳亂。

顯示: