SQL Server でストアド プロシージャをあるデータベースから別のデータベースに移動する

SQL Server でストアド プロシージャをあるデータベースから別のデータベースに移動する

SQL Server 2008 を使用していますが、あるデータベースから別のデータベースにストアド プロシージャをコピーしたいと考えています。方法を教えてください。

答え1

DB の下の SP を右クリックし、[ストアド プロシージャをスクリプト化] > [作成先] > [ファイル] をクリックすると、SQL スクリプト ファイルが作成され、そのスクリプトが他のデータベースで実行されます。

答え2

Management Studio を使用してストアド プロシージャのスクリプトを生成し、そのスクリプトをファイルに保存して、他の SQL Server で実行するだけです。

メモリからデータベースを右クリックし、[すべてのタスク] の下にある [スクリプトの生成] などを選択します。これにより、選択したものを作成するための Transact-SQL が生成されます。

JR

答え3

ストアド プロシージャを返すクエリ (出力をテキストに設定) は次のとおりです。

SELECT ROUTINE_DEFINITION
FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_TYPE='PROCEDURE'

答え4

上記の回答はすべて適切であり、機能します。問題は (少なくとも私の世界では)、sproc がどこにあるかということです。

私の場合、アプリ DB に 1 つの sproc キット (ビジネス ロジックなど) があり、マスターに別のシステム管理 sproc セットがあります。

私にとって問題なのは、マスター内の sproc を移動 (および同期を維持) する必要があることです...

関連情報