3

すべてのスキーマ、データ、DTS パッケージ、およびスケジュールされたジョブを含む、ID の異なる場所にあるサーバーから別のサーバーにデータベースをコピーしようとしています。Redgates SQL Packager を使用してスキーマとデータをパックしましたが、DTS パッケージ (非常に複雑なパッケージ) をより簡単な方法でパックするのに問題があります。アドバイスをお願いします!

4

5 に答える 5

4

現在、SQL2000 は手元にありませんが、DTS を開いて [ファイル] → [名前を付けて保存...] をクリックし、DTS ファイルとして保存すると、別のサーバーに DTS をアップロードできることを覚えています。 .

于 2009-06-09T16:35:50.370 に答える
3

SQLDTSの「管理と管理」ページには、msdb に保存されているパッケージを転送するためのリンクがあります。

また、 DTS パッケージを転送するためのツールDTSBackup 2000およびその他のDTS パッケージへのリンクもあります。

基本的に、このサイトにない場合は、DTS とは何の関係もありません...

于 2009-06-09T16:52:56.387 に答える
2

少しハックですが、msdb.dbo.sysdtspackagesBCP を使用して直接 DTS パッケージをスクリプト化することができます。現在、テストするシステムはありませんが、out コマンドは次のようなものです。

bcp "select top 1 from msdb.dbo.sysdtspackages where name = '~your_package_name~' order by createdate desc" queryout c:\temp\dts.bak -n -S ~source_server_name~ -E

このコマンドは、DTS 定義の最新バージョンを取得し、それをネイティブ形式の BCP ファイルにスクリプト化します ( SQL 認証を使用する場合は、-P ~password~ -U ~username~代わりに使用する必要があります)。-E

次に、2 番目のサーバーにインポートします。

bcp msdb.dbo.sysdtspackages in c:\temp\dts.bak -S ~target_server~ -E

これにより、両方のサーバーでパッケージを編集すると問題が発生する可能性があります。これは、一意の識別子が必ずしも一致するとは限らず、同じ名前の 2 つのパッケージが作成されるためです。ただし、1 つのサーバーでのみ編集する場合は、これで問題なく動作します。

于 2009-06-09T16:45:45.163 に答える
1

私の知る限り、簡単な方法はありません。それを行うには多くの回り道があります。DTS パッケージを定期的に移動する必要があったため、個人的には DTS パッケージを作成してコピーすることにしました。ファイルの保存と読み込みの方法は、1 回限りの状況に適しています。

このリンクでは、2000 DTS パッケージを新しいサーバーに移動する方法について説明していますが、DTS パッケージを別の 2000 サーバーにコピーする方法はすべて適用されます。

于 2009-06-09T16:40:47.087 に答える
0

DTSは、VBスクリプトを使用して簡単に展開できます。個人的には3〜4年前に使っています。これをチェックしてください:

http://cyrilbeschi.blogspot.com/2012/03/deploying-dts-packages-in-sql-server.html

サンプルコードも含まれています。

于 2012-03-12T06:09:28.313 に答える