SQL Server 2008R2 データ圧縮 その② [DBMS]
前回、全てのテーブルとインデックスを圧縮するスクリプトを載せましたが、実際にはどれを圧縮しない方がよいのか、どの圧縮にしたらいいのかといった設計が必要になります。
それはさておき、全てのテーブルとインデックスを圧縮してみました。
まずは、圧縮なしの状態です。
もともと テーブルのみROW圧縮だったものを DATA_COMPRESSION = NONE にしてテーブルとインデックスを圧縮なしに変換しています。
変換前はデータベースの空き容量はほぼ 0 でしたが、変換時に変換中のテーブルは倍の容量が必要になるのかそれなりに大きくなって最終的に空き容量が出来てます。
変換するテーブルの容量+α程度の容量が必要な様です。
ログはSimpleモードになっていたので参考になりません。
それはさておき、全てのテーブルとインデックスを圧縮してみました。
まずは、圧縮なしの状態です。
もともと テーブルのみROW圧縮だったものを DATA_COMPRESSION = NONE にしてテーブルとインデックスを圧縮なしに変換しています。
変換前はデータベースの空き容量はほぼ 0 でしたが、変換時に変換中のテーブルは倍の容量が必要になるのかそれなりに大きくなって最終的に空き容量が出来てます。
変換するテーブルの容量+α程度の容量が必要な様です。
ログはSimpleモードになっていたので参考になりません。
SQL Server 2008R2 データ圧縮 その① [DBMS]
最近のデータベースはデータ圧縮が流行っているので SQL Server 2008R2 で少しさわってみました。
圧縮は SQL Server 2008/2008R2 の Datacenter と Enterprise と Developer のエディションで使用できるそうです。
SQL Server のデータ圧縮は SQL Server Management Studio から データベース内のテーブルを選んで、右クリックのメニュー - Storage - Manage Compression で 圧縮ウィザードを起動して設定します。
圧縮は SQL Server 2008/2008R2 の Datacenter と Enterprise と Developer のエディションで使用できるそうです。
SQL Server のデータ圧縮は SQL Server Management Studio から データベース内のテーブルを選んで、右クリックのメニュー - Storage - Manage Compression で 圧縮ウィザードを起動して設定します。
SQL Server 2005 → 2008R2 へのアップグレード [DBMS]
SQL Server 2005 から 2008R2 へのアップグレードです。
SQL Server 2008 が出てからだいぶ経って、R2となってもしばらく経っていますが、そういえばやってませんでした。
特に難しい作業ではありませんが、規模に応じてかかる時間が異なります。
まずは SQL Server 2005 を用意します。
ちなみに Windows は 2003R2 です。
SQL Server 2008 が出てからだいぶ経って、R2となってもしばらく経っていますが、そういえばやってませんでした。
特に難しい作業ではありませんが、規模に応じてかかる時間が異なります。
まずは SQL Server 2005 を用意します。
ちなみに Windows は 2003R2 です。
Transaction Log Shipping その⑦ [DBMS]
メンテナンスが目的のフェイルオーバーの続きです。
プライマリデータベースをリストア状態にし、セカンダリデータベースを新しいプライマリデータベースとしてオープンしました。
次は新しいプライマリデータベースからログ配布の設定に移ります。
新しいプライマリデータベースのプロパティを開き、Transaction Log Shipping のタブを設定します。
Enable this as a primary database in a log shipping configuration にチェックをし、Backup Settings を行います。
プライマリデータベースをリストア状態にし、セカンダリデータベースを新しいプライマリデータベースとしてオープンしました。
次は新しいプライマリデータベースからログ配布の設定に移ります。
新しいプライマリデータベースのプロパティを開き、Transaction Log Shipping のタブを設定します。
Enable this as a primary database in a log shipping configuration にチェックをし、Backup Settings を行います。
Transaction Log Shipping その⑥ [DBMS]
メンテナンスが目的のフェイルオーバーの続きです。
ログ配布を一旦解除し、プライマリデータベースをリストア状態にしました。
次はスタンバイデータベース側に移ります。
SQL Server のログを見て、トランザクションログのバックアップがどこまでスタンバイデータベースにリストアされているのか確認します。
ログ配布を一旦解除し、プライマリデータベースをリストア状態にしました。
次はスタンバイデータベース側に移ります。
SQL Server のログを見て、トランザクションログのバックアップがどこまでスタンバイデータベースにリストアされているのか確認します。
Transaction Log Shipping その⑤ [DBMS]
プライマリデータベースとセカンダリデータベースを入れ替えるフェイルオーバーをやります。
メンテナンスが目的のフェイルオーバーです。
ログ配布のフェイルオーバーはコマンド一発という訳にはいかず、いくつかの手順を踏んで行われます。
まず、プライマリデータベースのプロパティを開きます。
Transaction Log Shipping のタブを開き、Enable this as a primary database in a log shipping configuration のチェックを外します。
メンテナンスが目的のフェイルオーバーです。
ログ配布のフェイルオーバーはコマンド一発という訳にはいかず、いくつかの手順を踏んで行われます。
まず、プライマリデータベースのプロパティを開きます。
Transaction Log Shipping のタブを開き、Enable this as a primary database in a log shipping configuration のチェックを外します。
Transaction Log Shipping その④ [DBMS]
SQL Server のログ配布です。
前回でログ配布の設定が完了しました。
プライマリデータベースにはトランザクションログを定期的にバックアップするジョブが設定されます。
このため、バックアップフォルダには順次ログのバックアップが出力されます。
前回でログ配布の設定が完了しました。
プライマリデータベースにはトランザクションログを定期的にバックアップするジョブが設定されます。
このため、バックアップフォルダには順次ログのバックアップが出力されます。
Transaction Log Shipping その③ [DBMS]
SQL Server のログ配布です。
前回はプライマリデータベースのバックアップジョブ設定まで行っています。
データベースのプロパティから設定します。
セカンダリデータベースの設定は Add ボタンを押して行います。
前回はプライマリデータベースのバックアップジョブ設定まで行っています。
データベースのプロパティから設定します。
セカンダリデータベースの設定は Add ボタンを押して行います。
Transaction Log Shipping その② [DBMS]
SQL Server のログシップです。
前回はセカンダリデータベースのリストアまで行っています。
リストアが完了すると、データベースはリストアモードになります。
続いてログ配布の設定をプライマリデータベースから行います。
前回はセカンダリデータベースのリストアまで行っています。
リストアが完了すると、データベースはリストアモードになります。
続いてログ配布の設定をプライマリデータベースから行います。
Transaction Log Shipping その① [DBMS]
SQL Server のログ配布です。
プライマリデータベースでトランザクションログをバックアップしてセカンダリデータベースへ配布して適用する事により可用性を確保する構成です。
少々タイムラグがありますが、離れた場所にデータベースのコピーを作って障害に対応します。
下の絵は SQL Server 2008 R2 のオンラインヘルプから引っ張ってきたログ配布の説明図です。
SQL Server にはデータベースミラーリングという同じ様な機能が゜ありますが、あちらはバックアップは1つだけで、仕掛け上レスポンスに多少影響します。
ログ配布は配布先を複数持つ事が出来ますが、トランザクションの反映に少々タイムラグがあります。
プライマリデータベースでトランザクションログをバックアップしてセカンダリデータベースへ配布して適用する事により可用性を確保する構成です。
少々タイムラグがありますが、離れた場所にデータベースのコピーを作って障害に対応します。
下の絵は SQL Server 2008 R2 のオンラインヘルプから引っ張ってきたログ配布の説明図です。
SQL Server にはデータベースミラーリングという同じ様な機能が゜ありますが、あちらはバックアップは1つだけで、仕掛け上レスポンスに多少影響します。
ログ配布は配布先を複数持つ事が出来ますが、トランザクションの反映に少々タイムラグがあります。