179

私は SQL を学び始めており、作業するデータベースを提供する本を持っています。以下のこれらのファイルはディレクトリにありますが、問題は、クエリを実行すると次のエラーが発生することです。

メッセージ 5120、レベル 16、状態 101、行 1 物理ファイル "C:\Murach\SQL Server 2008\Databases\AP.mdf" を開けません。オペレーティング システム エラー 5: "5(アクセスが拒否されました。)"。

   CREATE DATABASE AP
      ON PRIMARY (FILENAME = 'C:\Murach\SQL Server 2008\Databases\AP.mdf')
      LOG ON (FILENAME =     'C:\Murach\SQL Server 2008\Databases\AP_log.ldf')
      FOR ATTACH
    GO

本では、著者はそれがうまくいくはずだと言っていますが、私の場合はうまくいきません。検索しましたが、何が問題なのか正確にはわからないので、この質問を投稿しました。

4

19 に答える 19

147

SQL Server データベース エンジン サービス アカウントには、新しいフォルダーでの読み取り/書き込み権限が必要です。

これをチェックしてください

修正するために、次のことを行いました。

データ ファイル (S:) とログ ファイル (T:) に対するフル コントロールを持つ管理者グループをファイル セキュリティ アクセス許可に追加しました。

データベースを接続すると、正常に動作します。

ここに画像の説明を入力

ここに画像の説明を入力

于 2013-08-17T08:37:04.303 に答える
136

古い投稿ですが、Windows 7 で実行されている SQL Server 2014 で機能する手順を次に示します。

  • コントロールパネル ->
  • システムとセキュリティ ->
  • 管理ツール ->
  • サービス ->
  • SQL Server (SQLEXPRESS) をダブルクリック -> 右クリック、プロパティ
  • ログオンタブを選択
  • 「ローカル システム アカウント」を選択します (デフォルトは、鈍い Windows システム アカウントでした)。
  • -> OK
  • 右クリック、停止
  • 右クリック、スタート

出来上がり!

ログオン アカウントの設定はインストール時のオプションだった可能性があると思いますが、そうであればデフォルトではなく、この問題をまだ認識していない場合は見逃しがちでした。

于 2016-02-17T18:38:57.027 に答える
51

これは Windows 関連の問題で、SQL Server が .bak ファイルを含むフォルダーへの適切なアクセス許可を持っていないため、このエラーが発生します。

最も簡単な回避策は、.bak ファイルを、必要なすべての権限を持つデフォルトの SQL バックアップの場所にコピーすることです。他に何もいじる必要はありません。SQL SERVER 2012では、この場所は

D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup (SQL 2012)
C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup (SQL 2014)
C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\Backup (SQL 2016)
于 2014-10-09T08:25:07.717 に答える
13

はい、そうです。最初に sqlserver のサービス アカウントを見つける必要があります。ctrl+alt+delete を同時に押すと、タスク マネージャーで確認できます。次に、「C」の読み取り/書き込み権限を付与する必要があります。 :\Murach\SQL Server 2008\Databases" をサービス アカウントに追加します。

于 2013-08-17T08:48:02.810 に答える
10

グループのファイルとファイルのFull control両方にアクセス許可を追加することで、この問題を解決します。.mdf.ldfUsers

于 2016-12-02T15:26:00.520 に答える
6

私にとっては、SQL Server Management studioで次の方法で解決されました-管理者としてログインします(Windows認証としてログインしました)-mdfファイルを添付します(データベースを右クリック|添付|追加)-管理者としてログアウト-としてログイン一般ユーザー

于 2016-05-23T13:03:11.700 に答える
2

次の手順を実行しても、同じエラー メッセージが表示される可能性があります。

1. login as SA user (SSMS)
2. Edit the file permissions to say "everyone" full access (windows folder)
3. Delete the Log file (Windows Exploring  (this was what I had done per advise from some msdn forum) 

私はまだ許可エラーを受け取りましたが、添付画面の下部セクションにまだログファイルが表示され、エラーメッセージが同じままであることに気付きました。

これが同じことをした人の助けになることを願っています。

于 2014-05-21T00:18:07.443 に答える