メンテナンスプランを別のサーバーにコピーする


18

メンテナンスプランを1つのSQL Server 2012から別のSQL Server 2012にコピーする方法はありますか?Management Studioの同じコピーを介して両方のサーバーに同時にアクセスすることはできません(異なるネットワーク上)。

回答:


20

ジョブが存在するサーバーに移動し、Management Studioのオブジェクトエクスプローラーで[管理]> [SQL Serverエージェント]に移動し、[ジョブ]フォルダーを強調表示します。ヒットF7(または[表示]> [オブジェクトエクスプローラーの詳細])。右側のペインに複数のジョブが表示されます。コピーするものを強調表示し、右クリックして、[ジョブのスクリプト]> [作成先]> [クリップボード]を選択します。次に、他のサーバーに接続し、新しいクエリウィンドウを開いて貼り付け、F5キーを押します。SSISをいじるよりもずっと簡単です。

計画の実行内容によっては、追加の手順が必要になる場合があります。データベースインスタンスではなくIntegration Servicesインスタンスに接続し、[保存パッケージ]> [MSDB]> [メンテナンスプラン]を展開し、プランを右クリックして[パッケージのエクスポート]を選択します。他のサーバーで同じ手順に従いますが、[メンテナンスプラン]を右クリックして[パッケージのインポート]を選択します。これは計画ごとに行う必要があります。


10

もっとハッキングする方法を見つけました。

すべての実行計画は、msdb.sysssispackagesテーブル内の1つのレコードです。

msdb.sysssispackages移行元サーバーのmsdb.sysssispackagesテーブルから移行先サーバーのテーブルにレコードをコピーできます。

ソースサーバー上にリンクサーバーを作成し、ソースサーバーからこのInsertを使用するだけです。

INSERT INTO 
    YOUR-DEST-SERVER-NAME.msdb.dbo.sysssispackages
SELECT        
    name, 
    id, 
    description, 
    createdate, 
    folderid, 
    ownersid, 
    cast(
        cast(
            replace(
                cast(
                    CAST(packagedata AS VARBINARY(MAX)) AS varchar(max)
                ), 
            'YOUR-SOURCE-SERVER-NAME', 'YOUR-DEST-SERVER-NAME') 
        as XML) 
    as VARBINARY(MAX)) as packagedata, 
    packageformat, 
    packagetype, 
    vermajor, 
    verminor, 
    verbuild, 
    vercomments, 
    verid, 
    isencrypted, 
    readrolesid, 
    writerolesid

FROM
    msdb.dbo.sysssispackages AS sysssispackages_1
WHERE        
    (name = 'YourMaintenancePlanName')

情報:サーバー名の置換は、メンテナンスプランデザイナで宛先接続を処理するために重要です。

重要:記録のコピーは、保守計画の構造のみをコピーします。ジョブを再作成するには、コピーが完了したら、すべての管理計画を編集し、スケジュールをリセットして保存する必要があります。


データの他の部分を置き換えないように、replace( 'ab \'、 'yz \')で末尾のバックスラッシュを使用することをお勧めします。
crokusek

-2
  1. それ以外の場合は「sa」としてログに記録されません。

  2. すばやく確認するには:

ここに画像の説明を入力してください


OPは、ジョブとは別のメンテナンスプランについて質問していましたが、ジョブの方法で作成スクリプトを生成することはできません。
ヨルダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.