Denali CTP3 のインストールで気づいたことをちょいちょい書いていきたいと思います。
Archive for the ‘SQL Server’ tag
Denali の HADR の初期同期を手動で実行
HADR (Always On) を構築する際にはデータの初期同期を実行する必要があります。 ![]()
構築時に初期同期を実行する場合には、[Start Data Synchronization] をクリックすると、共有フォルダにバックアップを取得して、Secondary のサーバーにリストアすることで初期同期をすることができます。 ![]()
ただし、初期同期は必須ではないため、[Close] をクリックするとスキップして HADR の初期設定を完了することが可能です。
再度、共有フォルダを使用した初期同期の画面を開こうにもこの画面は構築時にしか開けないようで、スキップした場合は手動で同期を行う必要があります。
今回はこの手順についてまとめていきたいと思います。
Denali の HADR を証明書を利用したエンドポイントで使用
Denali の HADR (Always On) では SQL Server のデータベースミラーリングと同様に、ミラーリング用のエンドポイントを使用してサーバー間の通信が行われます。
HADR はクラスター環境が必須となるので、サービスアカウントにドメインユーザーを使用するための障壁は低くなっているのですが、ドメインユーザーではなくローカルユーザーで SQL Server のサービスを起動することがあるかもしれません。
HADR のエンドポイントは構成中に自動で作成することができます。 ![]()
ただし、サービスをローカルユーザーで起動している場合には以下のエラーが出力されます。
# Yes をクリックすると構成をすることができるのですが、開始時にエラーとなるかと思います。
ドメインユーザーでサービスを起動していない場合は証明書を利用したエンドポイントを使用する必要があります。
# サービスをローカルユーザーで起動してパスワードを同じにすればパススルーできる気もしますが。まだ試せていません…。
今回の投稿では、証明書を利用したエンドポイントのサンプルをまとめておきたいと思います。
Contained Databases を使用した場合の一時テーブルの照合順序について
Contained Databases を使用したログインを意識しないデータベースの移動 の続きになります。
上記の投稿では Contained Databases を使用して、データベースのユーザーにログインとしての情報を含め、データベースの移動時のログイン作成にどのように影響するかを書きました。
Contained Databases を使用することでデータベースの照合順序を一時テーブルのデフォルトの照合順序として使用できるようになります。
# 通常、tempdb の照合順序はインストール時に設定した照合順序となります。
今回はこの、Contained Database Collations について軽くまとめてみたいと思います。
-T1118 の有無による競合ページの違いを確認してみる
SQL Server では、-T1118 というトレースフラグを設定することで、小量のデータのテーブルに関しても混合エクステントではなく単一エクステントを使用するように設定ができます。
[FIX] tempdb データベースの同時実行制御の強化
今回は、このトレースフラグの有無で競合 (リソース待ち) 対象のページが変化することを見ていきたいと思います。
SQL Server 2008 以降の sys.dm_exec_cached_plans の拡張について
メモリ上にキャッシュされているクエリのプランを確認するための動的管理ビュー (DMV) として [sys.dm_exec_cached_plans] があります。
SQL Server 2005 から実装されている DMV になるのですが、SQL Server 2008 になって列が拡張されています。
今回は、この拡張された列についてまとめてみたいと思います
SQL Server 2008 以降のログの切り捨て
昨日、twitter でつぶやきに上がっていたので軽くまとめてみたいと思います。
SQL Server 2005 までは、 [BACKUP LOG WITH TRUNCATE_ONLY] を使用することで、トランザクションログの強制的な切り捨てをすることができました。
SQL Server 2008 以降では、この SQL は使用できなくなっています。
SQL Server 2008 R2 で廃止されたデータベース エンジンの機能
SQL Server 2008 以降でトランザクションログの強制的な切り捨てはどのように行うかというのが今回の投稿になります。
Denali の SSMS ではコードスニペットが使えます
先週末 (6/25 (土)) に広島のコミュニティ NET 勉強会 / ヒーロー島 さんでセッションをさせていただいた際のデモで少しだけ使ってみた内容のブログ投稿になります。
large value types out of row の設定による検索への影響
今朝、TechNet の SQL Server フォーラムを眺めていたところ以下のトピックがありました。
LOB(ラージオブジェクト)データを含むレコードのインデックスについて
このトピックでサヴロウさんの回答がとても参考になったので自分でもさっそく検証してみました。
クラスター環境の SQL Server をクラスターサービスが停止した状態で起動する方法
前回、クラスター環境の SQL Server をシングルユーザーモードで起動 という投稿を書きました。
この投稿ではクラスターのサービス (Cluster Service) が起動した状態が前提となっていました。
今回はクラスターのサービスが起動しない状態になった場合に、クラスター環境の SQL Server を起動するための手順をまとめてみたいと思います。
# かなり無理やり起動させていますので、実施する場合は自己責任でお願いいたします。
本作業は 2 ノードクラスターで構成された環境で、1 ノードのみ起動した状態で実施しています。