SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Windows Internal Database のメンテナンス

leave a comment

昨日、facebook で話に上がったのでメモとして。

■Windows Internal Database のメンテナンス


Windows Internal Database (WID) という機能を OS の標準の機能として使用することができます。image

AD RMS / WSUS / AD FS で使用されていることがあるかと思います。

この機能ですが、名前付きパイプで動作している SQL Server になりますので SQLCMD 当のツールで接続することができます。
# SQL Server Embedded Edition になるのでしょうか。DB サイズの上限は調べてみたのですが MS のページでまとまったものが見当たりませんでした…。

サービスとしては、[Windows Internal Database (MICROSOFT##SSEE)] となります。
image

このサービスの実行ファイルのパスを見ると、[sqlservr.exe] を起動していることが確認できますね。
ファイルのパスに移動してみると SQL Server の標準的なディレクトリ構成となっていることが確認できます。
image

WID ですが、[MICROSOFT##SSEE] というインスタンス名の SQL Server になりますので、SQL Server に接続するためのツールを使用することで接続ができます。
WID はローカルサーバー上で利用をするための機能ですので名前付きパイプによる接続のみをサポートしています。
そのため、以下のようなサーバー名を指定することで接続ができます。
?\.pipeMSSQL$MICROSOFT##SSEEsqlquery

この接続名については LOG ディレクトリ内の ERRORLOG からも確認することができます。
image

SQLCMD で接続をする場合は以下のような形式ですね。
WID のインストールでは SQLCMD はインストールされませんので、MicrosoftR SQL ServerR 2012 Feature Pack 等の機能パックからMicrosoftR SQL ServerR 2012 コマンド ライン ユーティリティ をインストールする必要があります。
MicrosoftR SQL ServerR 2012 Express から SQL Servr Management Studio Express (SSMSE) をインストールしてもよいかもしれないですね。
image

接続をした後は通常の SQL Server の操作となりますので @@version でバージョンを確認することもできます。
# バージョンについてはERROR ログにも出力されていますが。
image

上の画像は Winodws Server 2008 R2 SP1 の WID のバージョンになるのですが SQL Server 2005 ベース (9.x) のものが使用されているようですね。

下の画像が Windows Server 2012 RC の WID のバージョンになります。
SQL Server 2012 ベース (11.x) が使用されているようですね。
image
インスタンス名に関しては、[MICROSOFT##WID] となっているようです。
image

こちらの画像はAD FS 2.0 をインストールした環境の WID のインスタンスのデータベースとなります。
AD FS 用として、AdfsConfiguration / AdfsArtifactStore というデータベースが作成されていることが確認できますね。
image

通常の SQL Server のデータベース構成と同じですので、WID のデータベースが不整合を起こしていないかなどは [DBCC CHECKDB(‘<データベース名>’)] で確認をすることができます。

また、バックアップを [BACKUP DATABASE <データベース名> TO DISK='<バックアップファイル名>’] を実行することでデータベースバックアップを取得することも可能です。

通常の SQL Server のメンテナンス作業と同じことが WID でもできそうですね。

WID のインスタンスに直接接続して何かをするケースは少ないかと思いますが、接続方法は知っておくと有事の際にあわてないで済むかもしれないですね。

Share

Written by Masayuki.Ozawa

7月 27th, 2012 at 8:38 am

Posted in SQL Server,Windows Server

Tagged with ,

Leave a Reply