正確に何が機能しないのか少し混乱しますが、バックアップファイル名の日付と日時について、できることがいくつかあります。
@ECHO OFF
:: http://blog.g-ball.com/2010/08/26/year-month-day-date-batch-script/
:: Formatting the date into a YYYYMMDD format and setting it to the variable, varTodaysDate
SET varYYYY=%DATE:~10,4%
SET varMM=%DATE:~4,2%
SET varDD=%DATE:~7,2%
SET varTodaysDate=%varYYYY%%varMM%%varDD%
バッチの起動に問題がある場合は、バッチの起動時にログインしているかどうかを確認してください。サーバー管理からバッチファイルを起動していますか? はいの場合は、その構成を確認できます(編集:実行するアカウントを確認し、ユーザーがログオンしているかどうかを実行するオプションを選択し、タスクを実行し、次のユーザーアカウントを使用します:管理者)。権利の問題がある場合は、 http: //www.joeware.net/freetools/tools/cpau/ からの CPAU をお勧めします。管理者としてバッチを実行し、ダウンロードして、次のように含めます。
CPAU.exe -u 1 -p 1 -ex "cmd /c echo F | xcopy "\\FileName\S$\DBs\file_backup_%varTodaysDate%*.bak" "E:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\file_backup.bak"" -wait > log.txt 2> ./logerror.txt
共有ドライブから xcopy を実行している場合は、 CPAU.exe -u username -p passwordを置き換える必要がありますが、お勧めしません。誰かがバッチ ファイルを取得した場合のセキュリティ上の脆弱性です。私が逆に推奨できるのは、同じ機能を実行し、あるディレクトリから別のディレクトリにコピーするスクリプトを備えた WinSCP です。