-
先日、英語版だけではありますが SQL Server 2008 SP2 CTP が公開されました。 SQL Server 2008 SP2 CTP SQL Server 2008 SP2 から SQL Server 2008 R2 の UCP と DAC に対応されるようです。 どのようになるか軽く検証をしてみました。 今回は以下のバージョンのインスタンスを用意しています。 SQL Server 2008 R2 (SSMS も 2008 R2 のものを使用) SQL Server 2008 SP1 SQL Server 2008 SP2 CTP ■UCP に登録 SQL Server...
-
Books Online や Web で SQL Server 2008 R2 の新機能の情報を収集していて、SQL Server 2008 R2 でメジャーな新機能以外に いくつかデータベース管理者向けの新機能があったので検証してみました。 以下のブログで新機能がまとめられており、こちらの情報がとても参考になります。 INF: New SQL Server features in SQL Server 2008 R2 – Part 1 INF: New SQL Server features in SQL Server 2008 R2 –Part 2 SQL Server 2008 R2 Express...
-
SQL Server 2005 以降のクラスターのインストールではセットアップ時に以下のようなインストール前の検証が行われます。 # 以下は SQL Server 2008 R2 November CTP の内容です。 [ ネットワーク バインド順序 ] 以外のルールはすべて [合格] にできるのですが、環境によっては [ネットワーク バインド順序] だけが [ 警告 ] になってしまうという現象がまれに発生していました。 警告は以下の内容となっています。 今回の環境では、[Public] というドメインのネットワークと、[Private] というクラスタの内部通信用のネットワークの 2 種類を用意しています...
-
以前投稿した内容に SQL Server 2008 Express Edition でメンテナンスプランの利用についてコメントをいただきました。 残念ながら SQL Server の Express Edition では、メンテナンスプランが使用できないんですよね。 SQL Server 2008 の各エディションがサポートする機能 また、SQL Server の Express Edition では SQL Server Agent も使用できないため、定期的なジョブを SQL Server 側で 実行することができません。 スキルチャージプログラムで貸与されている環境は Community...
-
SQL Server のクラスタ構成では Is Alive のチェックで定期的な間隔 (デフォルトは 1 分) で SELECT @@servername が実行され、クラスタリソースの起動状況の確認がされます。 Windows Server 2003 上で SQL Server を MSCS で構築した場合は、Is Alive のチェックには、 クラスタサービスのサービスアカウント (ドメインユーザー) が使用されていました。 そのため、SQL Server のログインからクラスタのサービスアカウントを消してしまうとリソースが 起動できなくなります。 Windows Server 2008 の...
-
日があいてしまいましたがインデックスの再構築時のロックの状態を見てみたいと思います。 - 再構築中のロックの取得 - -- ロックの取得状態をわかるようにトランザクションを開始 BEGIN TRAN -- インデックスの再構築の実施 ALTER INDEX [PK_Tbl1] ON [dbo].[Tbl1] REBUILD -- ロックの情報を取得 SELECT DB_NAME(resource_database_id) AS [database_name], RTRIM([resource_description])...
-
DBCC IND で確認する違いのその 3 として Books Online に記載されている以下の動作を確認しようと考えていました。 再編成プロセスでは、システム リソースの使用が最小限に抑えられます。 また、再編成は自動的にオンラインで実行されます。 このプロセスでは、ブロッキング ロックは長時間保持されません。 したがって、実行中のクエリまたは更新はブロックされません。 試行錯誤していたのですがどうしてもブロッキングの状態で終わってしまうんですよね…。 READPAST のような動作をするのであれば、DBCC IND で確認できるのではと考えていたのですが。 ロックされているレコードのページだけ...
-
前回は再構成と再構築でページの再利用方法が異なるということを DBCC IND で確認しました。 今回はエクステントの並び替えの違いについて確認をしてみたいと思います。 # 最初にスクリプトを書いてから何日か経ちましたので、今回の投稿には使用するスクリプトを記載してみました。 [前段] - ページ - SQL Server のデータはページに格納されていきます。 1 ページは 8KB で構成されており、ひとつのページに格納できるデータは 8KB となります。 # それ以上格納したい場合は BLOB を使用しますが今回は通常のデータを対象とします。 1 ページに格納できるデータは同一のテーブルのデータになります...
-
SQL Server のインデックスのメンテナンスには 再構成 (REORGANIZE / DEFRAG) 再構築 (REBUILD) の 2 種類があります。 2 種類の違いを 2 回の投稿に分けてまとめていきたいと思います。 まずは、前回使用した SQL データを挿入して、DBCC IND でページの情報を取得してみました。 # 一度 Truncate でデータをクリアして再挿入しています。 - 結果 1 - No FILEName PagePID ObjectName name PageType IndexLevel NextPagePID PrevPagePID 1 WORK 3976...
-
ここ数日は SQL Server の基礎から勉強しなおそうと思い、インデックスの再構築 / 再構成について調べていました。 データの更新を行っているとデータページの断片化が発生し、断片化解消のためにインデックスの再構築 (REBUILD)、 再構成 (REORGANIZE) が必要となります。 ページの連続性が確認できないかなと思い、いろいろと本を眺めていたところ、[ DBCC IND ] があったなと思い、 少し試してみました。 # SQL Server の投稿に関しては SQL Server 2008 で検証をしていきたいと思います。 まずはテスト用として以下のテーブルを作成しました。 CREATE...
-
SQL Server のデータベースは自動拡張設定を使用することで、データベースの割り当て領域が不足した際に、 自動的に拡張するように設定することができます。 SQL Server のソート等で使用される tempdb にもこの設定は適用することが可能です。 tempdb の領域が不足するとソート時などに以下のエラーが発生します。 メッセージ 1105、レベル 17、状態 2、行 1 データベース 'tempdb' にオブジェクト 'dbo.SORT temporary run storage: 140737491501056' の領域を割り当てられませんでした...
-
前回の投稿でシステムテーブルの更新には、専用管理者接続 (Dedicated Administrator Connection : DAC) を 使用すると書きました。 DAC は SQL Server 2005 からの機能で、SQL Server の応答が無くなった時に、トラブルシューティング等を するために使用します。 デフォルトでは SQL Server をインストールしているサーバー (127.0.0.1) からのみ接続ができるようになっています。 以下の SQL を実行することで、リモートからも DAC による接続が可能となります。 sp_configure 'remote admin...
-
このところ SQL Server をインストール以外触っておらず、データベース管理者としてのスキルが右肩下がりです…。 このままでは SQL Server のデータベース管理者としてお先真っ暗となってしまいますので、小さなことでもコツコツと 投稿していきたいと思います。 思い立った初回は SQL Server 2005 以降でシステムテーブルを直接更新する方法を投稿したいと思います。 SQL Server 2000 までは sp_configure で [allow updates オプション] を設定することでシステムテーブルを 直接更新することが可能でした。 SQL Server...
-
作成したクラスタにノードの追加作業です。 以下の画像は、インストール直後のクラスタ化された SQL Server のサービスのリソースのプロパティになります。 インストール直後はクラスタを形成する他のノードには SQL Server がインストールされていないため、 実行可能な所有者には SQL Server のクラスタをインストールしたノードのみが表示されています。 このままでは耐障害性がありませんのでノードを追加していきます。 [SQL Server 2008 ノードの追加] 以下の作業は追加するノードで実行します。 スリップストリーム セットアップの手順でインストーラーを起動します。 単純にメディアインストールしてしまうと更新プログラムが適用されていない状態となりますので...
-
その 2 でノードの追加手順を書こうと思っていたのですが、クラスタのインストールで補足して書いておきたい 内容がありましたので 1.5 として補足編を。 [インストール時に使用できるディスク] クラスタの共有ディスクはインストーラーを実行しているノードがリソースを保有している必要があります。 ノードがディスクを保有していない場合、セットアップのルールチェックで以下のエラーとなります。 事前に SQL Server をインストールしているグループを作って、ディスクリソースをグループに割り当てている場合は、 ノードの移動で、インストーラーを起動しているノードにグループを移動します。 ただし、グループにディスクを割り当てていない時にディスクが割り当てられている...