頻繁に更新し、別のサーバー上の複製データベースに転送する大量のストアド プロシージャがあります。SQL Server Management Studio 2008 内から各「storedproc.sql」ファイルを開き、既存のストアド プロシージャを作成または変更するツールバーの [実行] を選択しました。私はストアドプロシージャごとにこれを行ってきました。
データベース上のすべてのストアド プロシージャを、フォルダ内にあるストアド プロシージャで一度に変更できるスクリプト (または別の方法) を探しています。基本的に、以下のテキストのような擬似コードに似たスクリプトを探しています。
USE [DatabaseName]
UPDATE [StoredProcName]
USING [directory\file\path\fileName.sql]
UPDATE [StoredProcNameN]
USING [directory\file\path\fileNameN.sql
…
最もきれいな疑似コードではありませんが、アイデアを理解していただければ幸いです。すべてのストアド プロシージャを (名前に基づいて) 削除し、データベースに同じストアド プロシージャを再度作成することもできます。もっと明確にする必要がある場合は、遠慮なくコメントしてください。事前に感謝します。
さらに説明するには:
SSRS 変換プロジェクトのすべてのレポート ストアド プロシージャを変更しています。レポートが作成されたら、レポートとストアド プロシージャをサーバーに移動します。次に、複製されたデータベースに対して各ストアド プロシージャを手動で実行 (ALTER または CREATE) する必要があるため、データベースはサーバー上のレポートをサポートできるようになります。これまでのところ、これはそれほど問題ではありませんでしたが、最終的には 65 から 85 のストアド プロシージャが必要になります。また、それぞれに 1 つのデータセット フィールドを追加する必要がある場合は、それぞれを手動で実行して複製データベースを更新する必要があります。
私ができるようにしたいのは、次のような SQL スクリプトを用意することです。このデータベースの場合、この名前付きストアド プロシージャを ALTER/CREATE すると、このフォルダー内の詳細を含む .sql テキスト ファイルを見つけることができます。