2011-11-08 21 views
0

私は別のサーバーにコピーする必要があるデータベースを1台のサーバーに持っています。私はこれを手動でエクスポートデータタスクを使用して行うことができます。これは1回のエクスポートでは問題ありませんが、これが繰り返されるため、これを高速化したいと考えています。エクスポートデータタスクの自動化

データベースには常に同じテーブルセットが含まれていますので、テーブルとそのデータをあるサーバーから別のサーバーにコピーするだけで済みます。

再利用可能なツールを作成して、ソースとターゲットのデータベースサーバーを指定し、この特定のデータベースを別のデータベースにコピーできるようにしたいと考えています。これは可能ですか?

答えて

0

SQL 2005以降のデータのエクスポートタスクは、SQL Server Integration Services(SSIS)をフードの下で使用します。すでに使用しているパッケージを保存して、スケジュールまたは必要に応じて実行することができます。また、ビジネスインテリジェンス開発スタジオ(BIDS)を使用して編集することもできます(保存後)。

エクスポートウィザードの最後([パッケージの保存と実行]画面)で、[SSISパッケージの保存]チェックボックスをオンにして、パッケージをSQLサーバー内またはファイルシステム内に格納できます。ファイルシステムはおそらくよりシンプルです。

パッケージを入手したら、dtexecツールを使用してコマンドラインから、またはExecute SSISタスクを使用してSQLエージェントジョブからパッケージを実行できます。

SSISはここでは完全にカバーすることができません - 詳細が必要な場合は、オンラインのSQLサーバーブック内にまともなチュートリアルがあります。

+0

これを実行しようとしましたが、SSISパッケージをファイルシステムに保存しました。このファイルを保存するときに選択したセキュリティ設定に関係なく、SQL Agentジョブに追加してジョブを開始すると、エラーが発生します。 –

+0

説明パッケージに有効なXML形式がないため、XMLとしてパッケージを読み込むことができません。特定のXMLパーサーエラーが表示されます。終了エラーエラー:コード:0xC0011002ソース:説明:エラー0x80070005によってパッケージファイル "thefile.dtsx"を開けませんでした。 "アクセスが拒否されました。"これは、パッケージをロードするときにファイルが開かれたり、XMLドキュメントに正しくロードされなかったりするときに発生します。これは、LoadPackageの呼び出し時に不正なファイル名を指定したか、またはXMLファイルが指定されていてフォーマットが間違っていることが原因です。終了エラーステップは失敗しました。 –

+0

@ shaun.breach - SQL Agentのサービスアカウントには、ファイルを保存した場所にアクセスする権限がないようです。 - SQL Agentが実行されているアカウントを確認してから、エージェントが確実にアクセスできる場所にファイルを移動してください。新しいフォルダを作成して特定のアクセス許可を与えてください。 –