0

私はSQLServerの初心者です。ファイルシステムに保存されているパッケージをSQLServer2008R2データベースにインポートしました。後で、ファイルシステムからパッケージを削除しました。ただし、パッケージは引き続きSQL Serverデータベースに残り、実行されます。

SQL Serverでさえファイルシステムに格納されているパッケージを参照するため、私がほとんど知らないことは、これが発生しないことを意味します。だから私の質問は:この動作は正常ですか?そうでない場合、それの考えられる理由は何である可能性があります

Cheerio

4

2 に答える 2

1

パッケージがファイル システム上にある場合、必要な場所に配置されます。dbo.sysssispackageパッケージがデータベースにある場合、パッケージ配置モデルを使用している場合は、2008/2008R2 および 2012の msdb カタログに格納されます。2005年はカタログdbo.sysdtspackages90を使用し、2012年はプロジェクト展開モデルで使用します。SSISDB

これで、それがテーブルにあり、エージェントが参照できることがわかりました。削除したい場合は、適切なストアド プロシージャを呼び出します。msdb.dbo.sp_ssis_deletepackageパッケージの名前と、パッケージが配置されているフォルダーの 2 つのパラメーターが必要です。ルート フォルダーはです00000000-0000-0000-0000-000000000000。それ以外の場合は、適切なパッケージ名を指定して次のクエリを実行すると、パッケージを削除するために必要な呼び出しが生成されます。

いつものように、やみくもに実行する前にステートメントを評価してください。

SELECT 
    P.name
,   P.folderid
,   'EXECUTE msdb.dbo.sp_ssis_deletepackage @name = ''' + P.name + ''', @folderid = ''' + CAST(P.folderid as varchar(50)) + '''' AS run_me
FROM 
    dbo.sysssispackages AS P
WHERE
    P.name = 'Package'
于 2013-01-20T18:42:58.897 に答える
0

多くのことを熟考し、SQLに精通した真面目な人々に尋ねた後、私はこの動作がかなり自然だと感じました。2 つのフォルダーは、パッケージの取得元とソースを区別するためだけに作成されています。インポートされると、パッケージはデータベースに保存されます。その場合、場所はあまり重要ではありません。この例では、パッケージのコピーが作成され、データベースに保存されます。あなたの助けと時間をありがとうございました:)

于 2013-01-21T07:00:55.587 に答える