web-dev-qa-db-ja.com

Ola Hallengren-DatabaseBackup-LOGステップ出力ファイルを開けません。ステップが失敗しました

DatabaseBackup-USER_DATABASES-LOG:このジョブは、「ユーザーとして実行:Domain\XXXX-SVC。ステップ出力ファイルを開くことができません。ステップが失敗しました」と言って失敗します。

エラーは、LOGバックアップジョブでのみ発生します。
他のDatabaseBackupジョブ(FULL、DIFF)は、同じSVCアカウントで正常に動作します。したがって、サービスアカウントには適切な権限があります。

出力ファイル(ジョブステップのプロパティ->詳細)はF:\ SQLAgentLog \で、すべてのジョブで同じです。唯一の問題は、LOGバックアップジョブにあります。他の誰かがこれを経験し、解決策はありますか?

現在の環境:
SQLサーバー:2012 SP3 CU8
OS:Windows Server 2012

注:これはWindows Server 2008で問題なく動作していました。

2

人が古いサーバーから新しいサーバーにジョブを移行し、手動でジョブを編集したことがわかりました。

編集の1つは"Output File: (Job Step properties-->Advanced)"で、これは古いサーバーのデフォルトのログの場所C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Logに設定されていました。

移行したサーバーでは、Logが存在しない"F:\SQLAgentLog\Log\"に編集されました。 (その人はパスのLogテキストを削除し忘れました)

他のジョブ(FULLおよびDIFF)では、テキストLogが削除されたため、このように設定されました"F:\SQLAgentLog\"とこれらの両方が正常に機能していました!

2

_Job Step Properties_のTypeを_Transact SQL Script_に変更してから、スクリプトの最後にあるsqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d master -Q "と引用符を削除して、スクリプト自体を変更してください。次に、ジョブを実行して、うまくいったかどうかをお知らせください。

1
George K

同じ問題がありましたが、私たちの場合、ログのあるドライブがいっぱいでした。

ディスクに書き出さないので、ジョージKsの投稿のようにSQLからジョブを実行できます。次に、スペースを解放する必要があり、OUTPUT File Cleanup(oops)のスケジュールが存在することを確認してから、すべてを通常に戻しました。

0
Katy

Jobnameに二重コロン( ':')が含まれている場合、このエラーはWindowsシステムでも発生します。

通常、OutputFileNameは次のマクロで作成されます:...$(ESCAPE_SQUOTE(JOBNAME))…

したがって、この二重コロンはジョブの実行時に使用されます。 (ジョブステップの詳細ページを参照)Windowsシステムでは、二重コロンは予約記号であり、ファイル名では使用できません。

0
Ali