ディストリビューション エージェントで「The distribution agent failed to create temporary files in '...' directory. System returned errorcode 5.」エラーが発生する現象について紹介します。
現象
ディストリビューションエージェントが動作しているSQL Serverで、下記のエラーが発生します。
レプリケーション-レプリケーション ディストリビューション サブシステム: エージェント (パブリッシュサーバー名)-(パブリッシュ データベース名)-(パブリケーション名)-(サブスクライブサーバー名)-(n) は失敗しました。The distribution agent failed to create temporary files in 'C:\Program Files\Microsoft SQL Server\130\COM' directory. System returned errorcode 5.
多くの場合、連続してエラーが発生します。
原因
SQL Server エージェントが "C:\Program Files\Microsoft SQL Server\130\COM" に書き込みできないためエラーが発生します。
対策
"C:\Program Files\Microsoft SQL Server\130\COM" にSQL Serverエージェントが書き込みできるよう設定します。
SQL Server エージェントの実行アカウントを確認する
はじめに、SQL Server エージェントの実行アカウントを確認します。
SQL Server 構成マネージャーを起動します。下図のウィンドウが表示されます。左側のツリービューで[SQL Server のサービス]のノードをクリックします。右側にSQL Serverのサービスのリストが表示されます。
[SQL Server エージェント]の項目をクリックして選択し、右クリックします。ポップアップメニューが表示されますので[プロパティ]メニューをクリックします。
[SQL Server エージェントのプロパティ]ダイアログが表示されます。
ウィンドウの[ログオン]タブをクリックして設定内容を確認します。このSQL Server エージェントは"NT Service\SQLSERVERAGENT" アカウントで実行されていることが確認できました。
COM ディレクトリへのアクセス権付与
"C:\Program Files\Microsoft SQL Server\130\"ディレクトリを開きます。"COM"ディレクトリも存在しています。
![](https://resources.ipentec.com/document/image/sql-server-distribution-agent-error-distribution-agent-failed-to-create-temporary-files-02?width=640)
COMディレクトリをクリックして選択し、右クリックでポップアップメニューを表示します。メニューの[プロパティ]をクリックします。
![](https://resources.ipentec.com/document/image/sql-server-distribution-agent-error-distribution-agent-failed-to-create-temporary-files-03?width=640)
[COM]ディレクトリのプロパティダイアログが表示されます。
ウィンドウ上部の[セキュリティ]タブをクリックしします。下図の画面が表示されます。上部の枠の[編集]ボタンをクリックします。
アクセス権の編集モードになります。"NT Service\SQLSERVERAGENT" アカウントに "C:\Program Files\Microsoft SQL Server\130\COM" の書き込み権を追加します。アカウントが一覧にないため[追加]ボタンをクリックします。
[ユーザー または 不ループの選択]ダイアログボックスが表示されます。
[選択するオブジェクト名を入力してください]のテキストボックスに "NT Service\SQLSERVERAGENT" を入力します。入力後、右側の[名前の確認]ボタンをクリックします。
名前の確認ができました。表示が下線付きの"SQLSERVERAGENT"になります。[OK]ボタンをクリックします。
"SQLSERVERAGENT"のアカウントに書き込み権限を追加します。設定後[OK]ボタンをクリックします。
[COM]ディレクトリのプロパティダイアログに戻ります。"SQLSERVERAGENT"のアカウントが追加され、書き込み権限もあります。[OK]ボタンをクリックしてダイアログボックスを閉じます。
イベント ビューアーでエラーが発生していないか確認します。
著者
iPentec.com の代表。ハードウェア、サーバー投資、管理などを担当。
Office 365やデータベースの記事なども担当。
最終更新日: 2024-01-07
作成日: 2016-10-24