SQL Server 2005で夜間バックアップをスケジュールするための組み込みメカニズムが表示されません。このタスクを実行するために使用できるツールとその信頼性はどれくらいですか?
SQL Serverエージェント が自動的に実行します。
必要なバックアップジョブを作成するために使用できるユーザーフレンドリーなウィザードもあります(SQL Server 2005 Books Online: 方法:メンテナンスプランの作成 )。信頼性の観点から-私はこれが堅実であると期待します。
複雑なスケジュールで複数ステップのジョブを実行し、メールやその他の手段で通知したり、ジョブの成功または失敗に応じてプロセスを開始したりできます。
MSDN:
デフォルトでは、SQL Server 2005以降がインストールされている場合、ユーザーがサービスの自動開始を明示的に選択しない限り、SQLServerエージェントサービスは無効になります。
私はメンテナンスプランを使用してこれを行いました。私は実際にすべてのユーザーデータベースをバックアップするスクリプトを作成しました。私はここでそのスクリプトを共有しました http://dbalink.wordpress.com/2009/04/25/automated-sql-server-back-poor-mans-edition/
ただし、スクリプトで行ったことよりも優れた解決策があります。私の投稿のコメントを確認してください。
これがお役に立てば幸いです;-)
これにはいくつかの部分があります。
まず、メンテナンスプランは、データベースのバックアップ、インデックスの最適化、DBCCチェックの実行などを実行できる一連のアクションを構築します。問題は、保守計画には柔軟性の欠如といくつかの制限があるということです。メンテナンスプランに関するチュートリアルビデオでそれについて話します。
http://sqlserverpedia.com/wiki/Database_Maintenance_Plans
代わりに、データベースのバックアップを実行する独自のT-SQLスクリプトを作成することを選択できます。それはあなたにもっと柔軟性と力を与えるでしょう。そのビデオリンクからいくつかの優れたバックアップスクリプトにもリンクしています。
次に、選択した方法(メンテナンスプランまたはカスタムT-SQLスクリプト)に関係なく、ジョブはSQLServerエージェントによってスケジュールに従って実行されます。エージェントは、SQLServerに組み込まれているジョブスケジューラです。
ネットワークバックアップはSQLServerエージェントで可能です...
SQL Serverエージェントサービスの開始に使用されるアカウントを、ネットワーク共有(および確実にシステムサービス操作)へのアクセス権を持つアカウントに変更する必要があります-例:任意のドメイン管理者アカウント...
ただし、ローカルディスクバックアップとxp_commandshellの方がはるかに信頼性が高くなります。結果のチェック/複数のサーバーへの配布などをスクリプト化できます...
私はメンテナンスプランを使用していますが、セットアップは簡単で、これまでのところ失敗していません。データベースをSANにバックアップしているので、ディレクトリパスのUNC名を指定する必要があります(例:\\ archive\SQL\database\fullbackup.bak)。
SQL Serverで成長するにつれて、スクリプトに移行する可能性が高くなります。Brentのビデオを見ると、長期的にはより良いことがわかりました。
SQL 2005のどのエディションをお持ちですか? Expressエディション(無料エディション)をお持ちの場合、SQLエージェントは付属していません。
Expressをお持ちの場合は、もう少しクリエイティブにする必要があります。 1つのオプションは、Windowsスケジューラを使用して、バックアップスクリプトでsqlcmdを呼び出すことです。
エージェントがない場合は、スケジューラを使用して次のようなスクリプトを呼び出します。
BACKUP DATABASE MyDatabase TO DISK='C:\MyDatabase.bak';
または類似…
C:\をネットワークドライブにすることはできず、ローカルに接続されたドライブである必要があることに注意してください。 (いいえ、マップされたドライブも機能しません)。