2011-11-28 7 views
0

私たちのprodutionデータベースを別のクライアントサーバーに毎日更新する必要があります。Sql Serverのあるサーバーから別のサーバーにバックアップファイルを移動する方法

要件:サーバーaからサーバーbに適切なタイミングで.bakファイルを移動する必要があります。

これらのサーバー間にネットワークドライブはありません。

SQL Serverのを使用してこれらのファイルを移動するためにどのような方法があります。..

いけないBIDSを持っています。

答えて

0

多くのオプションがあります。有効になっている限り、T-SQLはxp_cmdshellにdosコマンドを実行します。これにより、両方の場所への有効なWindowsパスがある限り(もちろん、権限が適切に設定されている限り)ファイルをコピーしたり、スクリプト可能なFTPクライアントを呼び出すことができます。もちろん、正当な理由でxp_cmdshellがデフォルトで無効になっていることを指摘しておく必要があります。有効にすると、セキュリティが大幅に低下する可能性があります。私はあなたが何を記述しているかを何度も繰り返してきましたが、セキュリティの成果を十分に考えなければなりません。

これをネットワーク経由で移動する場合は、圧縮を使用することもできます。 WinZipや7-Zipのようなものでもちろんこれを行うことができますが、Red Gate's SQL Backupのような多くのサードパーティのSQLバックアッププログラムには圧縮機能が組み込まれています。

最後に、Powershellなど、SQLの外部からファイル操作をより適切に処理し、SMOを介してSQL Serverと連携できるようにすることが考えられます。

+0

実際に私は、SQL Serverに新しいです、DOSプログラムと、すべてを使用してではなく、その後のSQLスクリプトを使用してこれらのファイルを移動するための直接的な方法はあります。 – user922161

+1

TSQLには含まれていません。 TSQLはクエリ言語ですが、柔軟性を提供するためにxp_cmdshellのようなものがあります。 SSISにはオプションがありますが、SSISでもバックグラウンドでOSコマンドが呼び出されます。私が(Powershellが存在する前に)始めたとき、私は頻繁にxp_cmdshellを使用して、あなたが記述していることをしました。今、PowerShellとTask Schedulerを使用することをお勧めします.SQLの内部でそれを行う魅力的な理由がない限り、スケジュールを設定する必要があります。 – TimothyAWiseman

関連する問題