web-dev-qa-db-ja.com

メンテナンスプランによるSQL Serverバックアップの権限の問題

SQL Server 2012を使用しており、ユーザーデータベースを毎晩ハードドライブ上のフォルダーにバックアップするメンテナンスプランを作成しました。ただし、このプランを実行すると、「アクセスが拒否されました」というエラーで失敗します。

詳細は次のとおりです。

  1. メンテナンスプランを作成し、すべてのユーザーデータベースをバックアップする「データベースのバックアップタスク」タスクを追加しました。
  2. プランが「SQL Serverエージェントサービスアカウント」として実行するように設定されていることを確認しました
  3. SQL Server構成マネージャーに移動し、[ログオン]タブでSQL Serverエージェントのプロパティを表示すると、このサービスに使用されているアカウントとしてNT Service\SQLSERVERAGENTが表示されます。
  4. C:\ SQLBackupsという名前のこれらのバックアップを保存するためにハードドライブにフォルダーを作成し、NT Service\SQLSERVERAGENTアカウントにフルコントロールを与えました
  5. 手順1でメンテナンスプランを構成してC:\ SQLBackupsに保存し、データベースごとにサブフォルダーを作成しました。

メンテナンスプランを実行すると、次のエラーが発生します。

クエリ "EXECUTE master.dbo.xp_create_subdir N'C:\ SQLBackup ..."の実行が次のエラーで失敗しました: "xp_create_subdir()がエラー5を返しました、 'アクセスが拒否されました。'"考えられる失敗の理由:クエリの問題、「ResultSet」プロパティが正しく設定されていない、パラメーターが正しく設定されていない、または接続が正しく確立されていない。

すべてのユーザーにC:\ SQLBackupsフォルダへのフルアクセスを許可すると、メンテナンスプランは問題なく実行されます。

バックアップを機能させるには、どのアカウントがこのフォルダにアクセスできる必要がありますか? NT Service\SQLSERVERAGENTアカウントへのアクセスを許可するだけでよいと思いましたが、明らかに機能していません。

ありがとう

4
Scott Mitchell

解決しました!

NT SERVICE\MSSQLSERVERアカウントにもフォルダのアクセス許可を与える必要がありました。

6
Scott Mitchell

それでも、「Authenticated Users」をグループ化する許可を与えることができます-私の場合は機能しました-Windows Serverドメインインフラストラクチャ

1
Evgeny