web-dev-qa-db-ja.com

データベース接続時の権限エラー:「指定されたパスにアクセスできません」

SQL Server 2012 Enterprise Editionを実行しています。 AdventureWorks 2012をダウンロードしましたOLTPデータファイル(.mdf.ldfの両方)。My Documentsに作成したAWフォルダーに保存しました。ファイルを解凍し、SQL Server Management Studio(SSMS)に移動し、データベースを右クリックして、コンテキストメニューの[添付]をクリックします。ダイアログで[検索]をクリックします。

UIでフォルダーに移動できません。ファイルのフルパスを入力しようとすると、次のエラーが発生します。

サーバー上の指定されたパスまたはファイルにアクセスできません。必要なセキュリティ権限を持っていること、およびパスまたはファイルが存在することを確認してください。

SSMSを閉じて再起動しましたが、今回は管理者として実行しています。同じ悪い結果。

これは難しいことではありません。 AdventureWorks2012データベースをSSMSに正常に接続するための正確な手順は何ですか?

ありがとう!

16
user2151027

ファイルをデータベースエンジンデータファイルのデフォルトの場所に配置します。何も再構成しなかった場合は、

\Program Files\Microsoft SQL Server\MSSQL11.<InstanceID>\MSSQL\Data

次に、SSMSを使用してdbをアタッチします。

6
peterm

Windows認証によるサーバーへの接続は私にとってはうまくいきました。それが可能かどうかはわかりません。

20
Rogitel

Rogitelが言うように、これはアプリケーションの特権レベルではなく、SSMS自体へのログイン方法に関連している可能性があります。

どうやら、ユーザーに「sysadmin」の役割がない場合、ユーザーはファイルブラウザを開くためにマシン上のファイルシステムに十分なアクセス権を持っていません。

しばらくの間、セキュリティ上の懸念を取り除いてください...

この役割を付与するには、

  1. Windows認証を使用してSSMSにログインする
  2. [セキュリティ]-> [ログイン]に移動します
  3. ダブルクリックするか、右クリックして、関心のあるユーザーの[プロパティ]を選択します。
  4. [ページの選択]ボックスで、[サーバーの役割]を選択します
  5. 「sysadmin」ロールが選択されていることを確認してください
  6. Okを押して変更を保存し、ダイアログを閉じます
  7. SSMSを終了する
  8. SSMSを再度開いて、目的のユーザーとしてログインします。これで、閲覧するための十分な権限が得られます。
13
PGallagher

Management Studioを開いたアカウントがどのような権限を持っているかは関係ありません。重要なアカウントは、SQLサーバーサービスを実行しているアカウントです。デフォルトでは、インストール中に指定されたデフォルトの場所にのみアクセスできるため、前の投稿者が言ったようにファイルをそこに移動するか、ファイルを保存するフォルダーの権限にサービスアカウントを追加できます。その場所にアクセスできるようにします。

8
steoleary

'sa'ユーザーを使用してSQLサーバーに接続するのが私にとってはトリックでした。誰もがそれを行う権限を持つことができるわけではないので、SQL認証に使用しているユーザーが必要なすべての権限を持っていることを確認してください。

0
Saumil

私の場合、それはドライブがSQL Serverロール(クラスター化サーバー)の依存関係ではないことに関連しています。 SQL Serverロールの下で依存関係としてディスクを追加すると、SSMSからドライブを再び参照できます。

0
user2854725