SQL Serverデータベースをオンラインにして、アクセス可能な状態にし、回復保留状態にしようとしています。 SQL Serverサービスは、ドメイン管理者であり、SQLサーバー上のsysadmin
のメンバーであるActive Directoryアカウントを使用します。 SQL Serverアカウントはドメイン管理者であるため、SQLファイルフォルダーに対する権限が必要です。ただし、SQL Serverのローカル管理者ではありません。
エラーメッセージは次のとおりです。
メッセージ5120、レベル16、状態101、行1物理ファイル "F:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\DBName.ndf"を開けません。オペレーティングシステムエラー5: "5(Access is denied。)"。メッセージ5120、レベル16、状態9、行1物理ファイル「F:\ Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\DBName.ndf」を開けません。オペレーティングシステムエラー5: "5(Access is denied。)"。
ながら
alter database [DBName] set online;
以下のエラーが発生します:
メッセージ945、レベル14、状態2、行1データベース 'データベース'は、ファイルにアクセスできないか、メモリまたはディスク領域が不足しているため開くことができません。詳細については、SQL Serverエラーログを参照してください。メッセージ5069、レベル16、状態1、行1のALTER DATABASEステートメントが失敗しました。
あなたは解決策を考えることができますか?
最初の問題は、NDFおよびMDFファイルのSQL Serverサービスを誰かが拒否したことであり、その拒否が削除されて適切なアクセス権が付与されると、最初の問題は解決されました。2番目の解決策は、NDFファイルの破損です。データがなかったので削除し、データベースをオンラインに戻しました。
私の場合の問題は、データベースがそこにないことでした。システム担当者がディスク領域を解放して、開発データベースの一部を消去しようとしていることがわかりました。そう:
F:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\
)alter
への(自分の)権限を確認します。