SQL Server Management Studio でそのストアド プロシージャを右クリックして [変更] を選択したときのように、SQL Server 2005 からまったく同じストアド プロシージャ ソースをプログラムで取得する方法についての指針はありますか?
私は SMO を使用しようとしていますが、いくつかのテキストの違いがあります。プロシージャには常に ALTER ではなく CREATE があり、プログラムで取得しているバージョンで GO が欠落しているなど、ヘッダーにいくつかの違いがあります。これらを修正することはできますが、おそらくもっと良い方法がありますか?
ここでも、SQL Server 2005 で SMSE を使用しています。Visual Studio 8 2008 経由で SMO を使用します。
更新: ストアド プロシージャを取得する方法の基本を説明するいくつかの回答を得ました。私が探しているのは、GUI が生成するものと同一 (またはほぼ同一) のテキストを取得することです。
例: sp_mysp の場合、Management Studio で右クリックし、[変更] を選択します。これにより、次が生成されます。
[MY_DB] を使用 行く /***** オブジェクト: StoredProcedure [dbo].[sp_mysp] スクリプトの日付: 2009/01/21 17:43:18 ******/ ANSI_NULLS をオンに設定 行く QUOTED_IDENTIFIER をオンに設定 行く -- ============================================== - 著者: - 日付を作成します: - 説明: -- ============================================== ALTER PROCEDURE [dbo].[sp_mysp]
プログラムで同じことを取得したいと思います (ヘッダーの GO と、それが ALTER PROCEDURE であることに注意してください。理想的には、取得したソースのプログラムによる修正を最小限に抑えてこれを取得したいと思います。
Script Date の詳細が異なるものだけを入手できれば幸いです。. .