SQL Server 2008 R2 SP1 (Denali 含む) で追加された統計情報の自動更新に関してのトレースフラグ(TF) の情報を昨日発見しましたので軽くまとめてみたいと思います。
調べていく中で統計情報の自動更新が発生するタイミングできちんと理解できていないことを痛感しました…。
これについてはおいおい調べていくとして、まずはトレースフラグについて簡単にまとめてみたいと思います。
参考にさせていただいた情報はこちらになります。
Changes to automatic update statistics in SQL Server ? traceflag 2371
New SQL 2008 R2 SP1 trace flag adjusts autostats threshold
以前、SAP On SQL Server の中の人のセミナーを受講した際に SP1 でトレースフラグが追加されるというのを聞いていたのですが、リリースノートを軽く見たところ見当たらなかったのですっかり忘れていました…。
本トレースフラグですが、2005 /2008 では使えないようですね。
今回は Denali CTP3 に 300,000 件のデータを入れた状態でテストをしています。
Read the rest of this entry »
Archive for the ‘SQL Server’ tag
SQL Server 2008 R2 SP1 で追加された統計情報の自動更新に関してのトレースフラグ
Columnstore Index について軽くまとめてみました その 1
Denali CTP3 では Project Apollo と言われていたColumnstore Index が使用できるようになりました。
Columnstore Index では PowerPivot で使用されていた VertiPack (バーティパック) エンジンが使用され、インメモリーで効率よく処理ができるようになっています。
従来のインデックスとデータの格納方式が変わっていますので簡単ではありますが軽くまとめてみたいと思います。
Columnstore Index については以下に詳細が記載されています。
Columnstore Indexes
Availability Group でリスナーを経由した透過的なセカンダリレプリカへの接続
先日、Denali の自習書で AlwaysOn 編 (SQL Server "Denali" 自習書シリーズ No.2 SQL Server AlwaysOn による可用性の向上) がリリースされました。
自習書シリーズ
自習書の P.53 で Read Only Routing List について触れられていますので、今回はこの内容について少しまとめてみたいと思います。
READ_ONLY_ROUTING_LIST の設定方法が分からなくて、先日の The Microsoft Conference 2011 でスピーカーの方に質問をさせていただいて、ようやく設定方法が分かったのですが自習書には盛り込み済みでした。
毎回凄いクオリティの内容ですね~。
これらの設定の情報に関しては、以下のドキュメントに少し記載されています。
Microsoft SQL Server コードネーム "Denali" CTP3 リリース ノート (ja-JP)
SQL Server Native Client Support for High Availability, Disaster Recover
SQL Server Agent のジョブをリソースガバナーで制御
SQL Server 2008 以降は CPU / メモリのワークロード制御としてリソースガバナーの機能が追加されています。
このリソースガバナーの機能を使用して、SQL Server Agent のジョブのリソースを制御しようというのが今回のお話です。
AlwaysOn Availability Gruops のデータ同期の仕組みを調べてみる その 3
今回はセカンダリが停止している状態のログの連携について少しまとめていきたいと思います。
AlwaysOn Availability Gruops のデータ同期の仕組みを調べてみる その 2
前回の投稿 (AlwaysOn Availability Gruops のデータ同期の仕組みを調べてみる その 1) ではログキャッシュについてまとめてみました。
今回の投稿では [ログプール] についてみていきたいと思います。
AlwaysOn Availability Gruops のデータ同期の仕組みを調べてみる その 1
数回に分けてAlwaysOn Availability Groups (可用性グループ) のデータ同期の仕組みについて調べてみたいと思います。
まずは、データ同期を考えるうえで重要になってくる [ログキャッシュ] についてまとめていきたいと思います。
SQL Server のスタートアップオプション -E の動きを見てみる
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) リリースで機能しますが、サポートされていません。
というように記載があります。
今回の投稿では、この内容がどのようなことを表しているのかデータを取りながら見ていきたいと思います。
Contained User でリンクサーバーは設定できる?
Facebook でとあるクマさんからコメントをいただいたので試してみました。
Contained Database の Contained User を使用してリンクサーバーは設定できるかの検証です。
Contained Databases の Contained User を使用した複数 DB へのクエリ実行を検証
Contained Databases の Contained User (DB 内にログイン可能なユーザーを作成) を使用した場合、複数 DB に対してクエリが実行できるかが気になったので検証してみました。
先に検証結果を書いてしまうと、軽く試してみたところではうまくできませんでした…。