ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3688459 SQLServer2005Expressでアタッチ出来ない
質問者:tarosan11 いつも仕事に役立つ情報をありがとうございます。

表題の件ですが、PCの入れ替えに伴い
前PCのSQLServer2005Expressにて稼動していたDbを
移行しようとした際に、デタッチ/アタッチでやろうとしたんですが
下記エラーが発生してアタッチ出来ない事象が発生してしまいました。
同様のエラーを克服した経験をお持ちの方からのアドバイスを
お願いします。

「エラーメッセージ」
------------------------------
サーバー 'D869\SQLEXPRESS' のデータベースのアタッチに失敗しました。 (Microsoft.SqlServer.Express.Smo)
Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.Express.ConnectionInfo)
データベース "Asprova" を更新できませんでした。データベースが読み取り専用です。 (Microsoft SQL Server、エラー: 3906)
------------------------------
困り度:
  • すぐに回答を!
質問投稿日時:
08/01/17 16:40
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.1 一昨日、私もエクスポートしたDBのアタッチで同じ障害に遭遇したのでその際の対処法を参考までに記載しておきます。
なお、OS環境はWindows Vistaを使用しています。
今回の問題は、Vista特有のフォルダへのアクセス制限によるものでした。以下のフォルダに関しては、セキュリティ上、XPまでと違い厳しいアクセス制限があります。
・Program files
・Windows
・ユーザー
そのため、このディレクトリー配下にアタッチするDBをおいた場合はAdministratorでログインし、SQLのログインにもWindows認証を使用しない限り、上記のエラーが発生します。そのため、Admin以外のアカウントでエラーを出さないためには、c:\のルート直下に適切なアクセス権をつけて、アタッチ元のDBをおいて試して見てください。その他のOSの場合もおそらくアクセス権の問題が原因と思われます。
回答者:YK10175
種類:回答
どんな人:経験者
自信:自信あり
回答日時:
08/01/30 01:21
この回答へのお礼ありがとうございました。
「Windows認証」でSQLにログインして処理を行った結果、
無事アタッチ出来ました。
それまでは「SQL認証」していました。
セキュリティが厳しくなっていますね。。。
初期のSQLServer2005Expressでは大丈夫だったので、すっかり
はまってしまいました。(^^ゞ

今後とも宜しくお願します。