2011-11-16 21 views
0

私はgenerate scriptをやっていて、100 + stored proceduresを別の100個のファイルに取り出しました。バックアップを取るようになりました。これらのファイルに変更を加えました。 今はalterが必要です。original stored procedures データベースより。 私は今、再びデータベースにロードする必要がある100個のファイルすべてを言うことを意味します。ストアドプロシージャをもう一度データベースに一度に復元できますか?

はデータベースからこれらのSPを取り出すためにどうすればいいですか restore all new sp'sは一度に同じデータベースに書き込むことができますか?

助けてください。

+0

データベース内の100以上のストアドプロシージャを既に変更しましたか?または、テキストファイルで変更しても、データベースにコミットする必要はありませんか?あなたの投稿はちょっと混乱しています。 – Kangkan

+0

私はデータベースからファイルを取り出し、ファイルに変更しました。変更されたspをデータベースに復元する必要があります。 – Neo

+0

回答を追加しました! – Kangkan

答えて

2

ストアドプロシージャのスクリプトを取り出す場合は、「スクリプトの生成」を使用してスクリプトを取り出すことができます。これにはCREATEスクリプトが必要です。スクリプトの本文を変更すると、DB上のスクリプトを再実行できます。しかしその前に、SPをデータベースにドロップするか、スクリプトファイル内のCREATEステートメントをALTERに変更することができます。

もう1つの方法は、スクリプトを取り出すときにALTERスクリプトを生成することです。しかし、これは一度に1つのprocで動作します。 SPを右クリックしてコンテキストメニューから "Save Stored Procedure as - > ALTER to - > File ..."を選択することができます。

+0

ありがとうございました! – Neo

+0

@ashuthinks:ようこそ!助けになるのが楽しいです。 – Kangkan

0

データベースストアドプロシージャをファイルにバックアップし、バックアップと復元ツールを使用して新しいデータベースサーバーにリストアすることができます。

0

ApexSQL Buildあなたが必要とするのは正確です。これは、新規または既存のデータベースに対してSQLスクリプトを実行し、あなたはあなたが

enter image description here enter image description here

T-SQL、C#またはexeファイルを作成することができます 最初のオブジェクトをドロップするように指定することができますので、 CREATE PROCEDURE文の実行に競合は存在しません
関連する問題