STEP 5. 管理編
5.1 バックアップと復元
バックアップと復元
Analysis Services で作成したキューブは、Management Studio を利用して簡単にバックアップ
および復元することができます。それでは、これを試してみましょう。
1. まずは、Management Studio を起動して、ツールバーの[接続]メニューから「Analysis Services」をクリックします。
[サーバーへの接続]ダイアログでは、Analysis Services の名前を入力して[接続]ボタン をクリックし、Analysis Services へ接続します。
2. 次に、[データベース]フォルダーを展開して、バックアップしたいキューブが格納されてい るデータベース(画面は MultidimensionalProject1)を右クリックして[バックアップ]
をクリックします。
[データベースのバックアップ]ダイアログが表示されたら、[バックアップ ファイル]へバ 1
2
3
1
2
3
4
ックアップを格納したい任意のパス(画面は C:\ 直下を指定)を記述し、[圧縮を適用する]
を任意に設定(デフォルトは圧縮を行う)、[バックアップ ファイルを暗号化する]を任意に 設定(デフォルトは暗号化を行う)します。暗号化を行う場合は、暗号化および復号時に利用 するパスワードを設定します。
なお、ファイル パスを指定しない場合は、Analysis Services のインストール フォルダー
(Program Files\Microsoft SQL Server\MSAS11.MSSQLSERVER\OLAP\Backup)
にバックアップされます。
設定後、[OK]ボタンをクリックすれば、バックアップが始まり、バックアップが完了すると ダイアログが自動的に終了します。
バックアップ実行のスクリプト化(XMLA)
Analysis Services では、管理系の作業をコマンドから行うには、XMLA(XML for Analysis)と
呼ばれるスクリプトを利用します。このスクリプトは、各種管理操作を行う Management Studio の管理画面から生成することができるので簡単に利用できます。
1. では、バックアップを実行するための XMLA スクリプトを生成してみましょう。これを行う には、先ほどの[データベースのバックアップ]ダイアログで、上部の[スクリプト]ボタン をクリックします。
<Backup ~> で始まり、<DatabaseID> 要素にバックアップ対象のデータベース ID が 指定され、<File> 要素へバックアップ ファイルのパス、<Passwrod> 要素へ暗号化のパ
1
↓
スワードが設定されたスクリプトが生成されていることを確認できます。
XMLA スクリプトの実行
XMLA スクリプトは、Management Studio の[クエリ]メニューの[実行]ボタンから実行す
るか、Integration Services パッケージの「Analysis Services DDL 実行タスク」を利用する か、後述の Note で紹介する「Invoke-ASCmd」(PowerShell)を利用して実行することができ ます。
Integration Services の「Analysis Services DDL 実行タスク」を利用する場合は、次のよう に操作します。
SSIS ツールボックスから「Analysis Services DDL 実行タスク」を[制御フロー]へドラッグ
&ドロップして配置します。配置後、タスクをダブル クリックして、次のように[Analysis Services DDL 実 行タスク エディ ター] ダイアログを開き、[DDL]ページを開いて、
[Connection]プロパティで「新しい接続」をクリックします。
[Analysis Services 接続マネージャーの追加]ダイアログが表示されたら、「編集」ボタンをク
1 2
3
4
5
6
リックして、[接続マネージャー]ダイアログを開き、Analysis Services の名前や初期カタログ
(データベース名)、ログオン設定などを行い、[OK]ボタンをクリックします。
次に、[SourceDirect]プロパティの「...」をクリックします。
[DDL ステートメント]ダイアログが表示されたら、Management Studio で生成したバックア ップを実行するための XMLA スクリプトを貼り付けて、[OK]ボタンをクリックします。
以上で、設定が完了です。これで、Integration Services パッケージから XMLA スクリプトを実 行できるようになります。スケジュール設定をして定期実行したい場合は、パッケージを SQL
Server Agent ジョブとして登録するようにします。
Note: バックアップをコマンドレット(PowerShell)から実行
XMLA スクリプトをコマンドから実行したい場合は、PowerShell の「Invoke-ASCmd」コマンドレットを利用します。
このコマンドレッドを利用するには、次のように Management Studio で「データベース エンジン」へ接続して、サ ーバー名を右クリックし、[PowerShell の起動]をクリックします。PowerShell が起動したら、コマンドを次のよう に記述します。
Invoke-ASCmd -S サーバー名 -i XMLAファイル名 1
生成したXMLA スク リプトを貼り付け
3
2
Invoke-ASCmd を実行
バックアップ(.abf)からの復元(リストア)
バックアップしたファイル(.abf)から復元するには、Management Studio で Analysis Services へ接続して、[データベース]フォルダーを右クリックし、「復元」をクリックします。
[データベースの復元]ダイアログが表示されたら、[バックアップ ファイル]へバックアップし たファイル(.abf)へのフル パスを入力し、[データベースの復元]へ復元後のデータベース名を 任意に設定し、[パスワード]へ暗号化時に設定したパスワードを入力します。なお、[バックアッ プ ファイル]の隣の[参照]ボタンをクリックしても、任意のフォルダーを選択することはでき
ず、Analysis Services のインストール フォルダーしか選択することができません。したがって、
バックアップ ファイルへのパスは、手入力ですべて記述しなければなりません。
設定後、[OK]ボタンをクリックすれば、復元が始まり、復元が完了するとダイアログが自動的に 終了します。
1
2
3
4
5