kikukawa's diary

都内で活動するシステムエンジニアが書いてます。 興味を持った技術やハマったポイント、自分用メモをつけてます。 最近はweb中心

Sql Serverのサービスが起動しない

Sql Server 2005 Express
ローカルで使わなかったから、サービスを停止していたSqlServerが起動できなくなった

SqlServerの構成マネージャーから起動すると以下のようなエラーがでる。

要求が失敗したか、サービスが適切な時間内に応答しませんでした。詳細については、イベント ログまたは他の適切なエラーログを参照してください。

とりあえずシステムログを見ていると以下のようなエラーが吐かれていた。

イベントの種類: エラー
イベント ソース: MSSQL$SQLEXPRESS
イベント カテゴリ: (2)
イベント ID: 5118
日付: 2009/07/16
時刻: 13:31:05
ユーザー: N/A
コンピュータ: hogehoge
説明:
ファイル "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf" は圧縮されていますが、読み取り専用のデータベースまたはファイルグループではない場所にあります。ファイルの圧縮を解除してください。

詳細な情報は、http://go.microsoft.com/fwlink/events.asp の [ヘルプとサポート センター] を参照してください。
データ:
0000: fe 13 00 00 10 00 00 00 t.......
0008: 1a 00 00 00 42 00 49 00 ....B.I.
0010: 54 00 2d 00 32 00 30 00 T.-.2.0.
0018: 30 00 36 00 2d 00 4e 00 0.6.-.N.
0020: 2d 00 30 00 32 00 37 00 -.0.2.7.
0028: 5c 00 53 00 51 00 4c 00 \.S.Q.L.
0030: 45 00 58 00 50 00 52 00 E.X.P.R.
0038: 45 00 53 00 53 00 00 00 E.S.S...
0040: 00 00 00 00 ....

とりあえず対象のファイルのプロパティを表示して、
属性欄の詳細設定ボタンをクリック。
属性の詳細を確認した。

「圧縮属性または暗号化属性」とあるところの
「内容を圧縮してディスク領域を節約する」
にチェックが入っていたので、これを外す。

再度試してみたら、今度は別のファイルで同じエラーが表示される
なので、同フォルダの中にあるシステムに使われているっぽいファイルをすべて選んで上記の作業を行った。

再度起動を試みたらうまくいった

再起動して、Management Studioから目的のDBにアクセスしたら
以下のエラー

タイトル: Microsoft SQL Server Management Studio Express

                                                          • -

この要求のデータを取得できませんでした。 (Microsoft.SqlServer.Express.SmoEnum)

ヘルプを表示するには http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476 をクリック

                                                          • -

ADDITIONAL INFORMATION:

ファイル "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\hogeDB.mdf" は圧縮されていますが、読み取り専用のデータベースまたはファイルグループではない場所にあります。ファイルの圧縮を解除してください。 (Microsoft SQL Server、エラー: 5118)

ヘルプを表示するには http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=5118&LinkId=20476 をクリック

                                                          • -

BUTTONS:

OK

                                                          • -

同じ原因のようなので、
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\以下のファイルすべてに対して同じ作業を行った。

プロセスはファイルにアクセスできません。

とでるので、一度サービスを停止してから行う。


接続ができないとき
kkkw.hatenablog.jp