数回に分けてAlwaysOn Availability Groups (可用性グループ) のデータ同期の仕組みについて調べてみたいと思います。
まずは、データ同期を考えるうえで重要になってくる [ログキャッシュ] についてまとめていきたいと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
数回に分けてAlwaysOn Availability Groups (可用性グループ) のデータ同期の仕組みについて調べてみたいと思います。
まずは、データ同期を考えるうえで重要になってくる [ログキャッシュ] についてまとめていきたいと思います。
64 ビットの SQL Server ではスタートアップ (起動) オプションとして -E というオプションがあります。
SQL Server サービスのスタートアップ オプションの使用
ファイル グループ内の各ファイルに割り当てられるエクステントの数を増やします。
このオプションは、インデックス スキャンまたはデータ スキャンを実行するユーザーの数が限られているデータ ウェアハウス アプリケーションで役立つ場合があります。
パフォーマンスに悪影響を及ぼす可能性があるため、他のアプリケーションでは使用しないでください。
このオプションは、32 ビット リリースの SQL Server ではサポートされていません。
Fast Track Data Warehouse (FTDW) でもこのオプションは使用されており、SQL Server Fast Track Data Warehouse の実装 にもこのスタートアップオプションについて記載がされています。
SQL Server が 2 MB のエクステントを使用できるようにします。
ダウンロードできる SQL Server Fast Track Data Warehouse の実装 には、
-E をスタートアップのオプションに追加する必要があります。
これによって、データベース テーブルの増大に応じて割り当てられる、各ファイル内の連続するエクステントの数が増えます。
そして、シーケンシャルなディスク アクセスが向上します。
Microsoft サポート技術情報 (KB) の記事 329526 では、-E オプションについて詳しく説明しています。
というように書かれており、リンク先には、
SQL Server 2000 Enterprise Edition (64-bit) リリースでは、-E という新しいサーバー起動オプションをサポートしています。
-E 起動オプションを使用すると、ファイル間でエクステントを振り分けるラウンド ロビン サイクルが繰り返される間に、ファイル グループ内でファイルごとに割り当てられるエクステントの数を増やすことができます。
この拡張によりデータの連続性が向上し、DW (データ ウェアハウス) クエリに対して実行される連続したスキャン中に処理される I/O 数が先読みメカニズムによって減少するため、DW のパフォーマンスが向上する場合があります。
-E オプションの使用は、インデックスまたはデータのスキャンを実行するユーザーの数が限られているデータ ウェアハウス アプリケーションで、役立つ場合があります。
このオプションは、データ ウェアハウス以外の環境ではパフォーマンス上の利点がなく、またパフォーマンスに影響を与える可能性もあるため、他の環境では使用しないようにする必要があります。-E オプションは SQL Server 2000 (32-bit) リリースで機能しますが、サポートされていません。
というように記載があります。
今回の投稿では、この内容がどのようなことを表しているのかデータを取りながら見ていきたいと思います。
Facebook でとあるクマさんからコメントをいただいたので試してみました。
Contained Database の Contained User を使用してリンクサーバーは設定できるかの検証です。
Contained Databases の Contained User (DB 内にログイン可能なユーザーを作成) を使用した場合、複数 DB に対してクエリが実行できるかが気になったので検証してみました。
先に検証結果を書いてしまうと、軽く試してみたところではうまくできませんでした…。
SQL Server のセキュリティ設定として、[ログイン] と [ユーザー] があります。
ログインの情報に関しては [master] データベースに格納され、SQL Server に接続をするために必要となります。
そのログインにデータベースのユーザーをマッピングし、データベース内で権限が付与されます。
データベースのユーザー情報に関しては各データベースに格納されています。
# SQL Server 認証を使っている場合の概略です。
Denali で追加された Contained Databases を Availability Groups と組み合わせることで可用性グループ内のサーバーでログイン情報の同期をとることが可能となります。
今回はこの内容についてまとめていきたいと思います。
Windows Server 2008 以降ではマルチサブネットフェールオーバークラスターを構築することが可能となっています。
このマルチサブネットフェールオーバークラスターですが AlwaysOn Availability Groups でも使用することができます。
今回はマルチサブネットフェールオーバークラスター環境の Availability Groups についてみていきたいと思います。
昔々に途中前で書いて挫折したメモが出てきたので投稿しておきたいと思います。
まだまだいろいろと書くとはあるのですが続きは書かないです…。
元ネタはこちら
SQL Server 2005 でのパフォーマンス問題のトラブルシューティング
http://technet.microsoft.com/ja-jp/library/cc966540.aspx
http://download.microsoft.com/download/c/9/8/c985ab71-1cf5-40b4-bc2a-ea8f9555fb3e/TShootPerfProbs.doc
Troubleshooting Performance Problems in SQL Server 2008
http://msdn.microsoft.com/en-us/library/dd672789(v=sql.100).aspx
http://download.microsoft.com/download/D/B/D/DBDE7972-1EB9-470A-BA18-58849DB3EB3B/TShootPerfProbs2008.docx
Denali CTP3 の AlwaysOn SQL Server Failover Cluster Instances ではマルチネットフェールオーバークラスターが構築できるようになっています。
今回はマルチサブネットフェールオーバークラスターについてまとめてみたいと思います。
参考になる技術情報はこちらです。
Availability Enhancements (Database Engine)
SQL Server Mutli-Subnet Failover Cluster Configuration
SQL Server 2008 以降では拡張イベントが導入されました。
SQL Server 拡張イベント
拡張イベントを使用すると SQL Server の様々なイベントを取得しロギングすることが可能です。
SQL Server 2008 R2 まで拡張イベントを取得する際にはクエリベース ()CREATE EVENT SESSION) でイベントセッションを作成する必要がありました。
Denali では SSMS から拡張イベントを設定することが可能となっています。
今回の投稿では SSMS のGUI を使用した拡張イベントの設定についてまとめてみたいと思います。
Denali CTP3 の SQL Server Management Studio (SSMS) ではリストアの機能が強化されています。
今回の投稿では、変更されている個所についてみていきたいと思います。
関連する技術情報はこちらになります。
Restore improvements in SQL Server Denali CTP3 Management Studio