今日作業するためにマシンに戻ったところ、バックアップ データベース コマンドを使用して、バッチ ファイルがデータベースのコピーをバックアップできなくなっていることに気付きました。
サーバーは、Windows サーバーと SQL サーバーの両方で 2008R2 です。
ほんの 1 か月前まで、この同じバッチ ファイルが私のデータベースをバックアップしていました。SQLスクリプトを手動で実行すると、「オペレーティングシステムエラー3 - 指定されたファイルが見つかりません」というメッセージが表示されます。
これが私のスクリプトです:
DECLARE @FileName varchar(50), @Date varchar(20)
set @Date = REPLACE ((CONVERT (VARCHAR(10), GETDATE(), 101)), '/', '-')
SET @FileName = ('C:\mybkfolder\BackupSQLData\db_dnt_' + @Date + '.bak')
BACKUP DATABASE db_dnt TO DISK = @FileName
Go
SQL Server がシステム アカウントで実行されていることを確認しました。SQL管理スタジオから問題のフォルダーへのバックアップを手動で作成できます。しかし、管理スタジオでスクリプトをクエリとして実行すると、このエラーが発生します。
このフォルダに移動し、SYSTEM アカウントがフル アクセスできるようにセキュリティ アクセス許可を設定しました。次に、タスク スケジューラに移動し、スケジュールされたタスク (バッチを実行します。バッチは、上記のスクリプトを含む .sql ファイルを呼び出します) が SYSTEM で実行されるように構成されていることを確認しました。まだ何もバックアップされていません。
Windows のパッチ以外に、実際にマシンを台無しにした人は誰もいません。これが機能しなくなる原因は何ですか?これはSQLサーバーの高速バージョンであり、実際のように高速バージョンでジョブを作成できないため、1つはバックアップし、もう1つはパージしてフォルダーを制御する2つのバッチファイルシステムを使用する必要があります。