
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 を移動 (および同期を維持) する必要があることです...