web-dev-qa-db-ja.com

Ola Hallengrensバックアップスクリプトを使用して共有にバックアップするプロキシアカウントを取得する

SQL Server 2012 Standardをインストールし、エンジンとエージェントをデフォルトのNTサービスアカウントで実行しています

エンジン-NT Service\MSSQLSERVER

エージェント-NT Service\SQLSERVERAGENT

Ola Hallengrensのバックアップスクリプトをネットワーク共有にバックアップしようとしていますが、これは少し問題があります。通常、私はドメインアカウントでエンジンとエージェントを実行し、それらにネットワーク共有へのアクセスを許可しますが、これは機能しますが、これは私の時間の前にセットアップされ、これらを変更することはできません。

エージェントとエンジンがドメインアカウントで実行されていないため、これを機能させるためにプロキシを使用しようとしています。

共有\\ComputerName\FolderとサービスアカウントDomain\account.svcを持っています。 Domain\account.svcアカウントを使用してファイルとフォルダを参照および作成できるため、アクセスは問題なく動作しているようです。ただし、これをエージェントを介して実行すると、機能しません。

私がやった事。

  • Domain\account.svcを使用して認証情報を作成しました
  • オペレーティングシステム(CmdExec)プロキシを作成し、それを資格情報にリンクしました
  • システムデータベースのバックアップジョブステップで、[別のユーザーとして実行]をプロキシアカウントに設定します。

ログファイルで発生しているエラーは

メッセージ50000、レベル16、状態1、サーバー[サーバー名]、手順DatabaseBackup、行457
ディレクトリ\\ ComputerName\Folderは存在しません。

メッセージ50000、レベル16、状態1、サーバー[サーバー名]、手順DatabaseBackup、行740ドキュメントは https://ola.hallengren.com/sql-server-backup.html にあります。

これは、エージェントドメインアカウントが共有にアクセスできない場合に通常発生するエラーと同じです。

質問-なぜこれが機能しないのかについて誰かがいくつかの光を当てることができますか?.

ありがとう。

編集1:Domain\account.svcは共有に対するフルコントロールを持ち、SQL内のマシンのローカル管理者およびsysadminです。

編集2:SQLのテストインスタンスをデスクトップにインストールし、問題を再現できます。次に、エンジンとエージェントのサービスアカウントをDomain\account.svcで実行するように変更すると、共有へのバックアップが正常に完了します。

編集3:理想的なソリューションではありませんが、今のところローカルでバックアップしており、共有にディレクトリをミラーリングするようにrobocopyジョブを設定しています。

5
Lawrage

これを実現するには、SQL Serverがインストールされているコンピュータードメインアカウントに、[コンピューター名]の共有[フォルダー]への書き込み権限を与える必要があります。

コンピューターのSRV-SQLSERVERと、NTサービス*で実行するSQLサービスがあるとしますが、それらのドメインアカウントを作成できない場合があります。ただし、他のドメインサーバーの\ SRV-BACKUPにバックアップを保存する必要があります。

これを機能させるには、\\ SRV-BACKUP\Folderに共有を作成し、書き込み権限SQLボックスドメインアカウントDOMAIN\SRV-SQLSERVER $

いくつかの関連情報はここにあります:

LocalSystemアカウントへのネットワークアクセスを許可する方法

2