.log

miscellaneous memorandum

Windows7+SQLServer2008でデータベースをアタッチ

June 13, 2010
Windows7環境で、よそから持ってきたmdfをアタッチしようとすると、 > データベースのアタッチ中にエラーが発生しました。詳細については、メッセージ列のハイパーリンクをクリックしてください。 と出ます。 詳細のエラーは、 > サーバー 'xxx'のデータベースのアタッチに失敗しました。(Microsoft.SqlServer.Smo) > > 追加情報 > >  Transact-SQLステートメントまたはバッチの実行中に例外が発生しました。 > >  (Microsoft.SqlServer.ConnectionInfo) > >   物理ファイル "d:\testDatabase.mdf" を開けません。オペレーティングシステムエラー5: "5(アクセスが拒否されました)"。 (Microsoft SQL Server、エラー:5120) となります。 こういう場合は、SQL Server Management Studioを「管理者として実行」すればアタッチできます。 [SQL Server 2005 の Readme ファイルに対する変更点](http://support.microsoft.com/kb/907284/ja)の下の方に、同じエラーのケースが書いてありますが、デタッチしたデータベースがWindows Server 2008のSQL Server2008でも、Windows7の同じ環境内でデタッチした物を別のフォルダに持って行ってアタッチしようとしてもエラーが出ます。 Windows7の場合は、Program Filesの下にあった物を別のフォルダやドライブに移した物がなります。 保護されていないその他のフォルダ間では大丈夫です。