2011-01-28 5 views
1

私は、同じフィールド "SMTP_Server"を持つ設定テーブルを持っています。私は、サーバー上の各データベースの新しい値でフィールドを更新したい。サーバ上の各データベースのテーブルを更新したい

sp_foreachdb最後のテーブルを更新します(最後のデータベースにあります)。どうして?

+0

更新するテーブルをどのように指定していますか?私はあなたが更新しているテーブルを明示的に記述していない更新ステートメントをどのように書くことができるか分かりません。 – JNK

答えて

3

このSPは「公式に」サポート、時には問題を抱えているしていないよう助けて...

参照してください。http://www.mssqltips.com/tip.asp?tip=2201&home

で、より信頼性と柔軟なsp_msforeachdbを作ります.. 。重い負荷の下で、そして/または多数のデータベースで、エラーまたは警告メッセージなしでプロシージャが実際に複数のカタログをスキップできるインスタンスが見つかりました。この状況は容易に再現できないため、サポートされていないオブジェクトを修正することにMicrosoftは一般的に関心がないため、今の環境ではこれが起こっている可能性があります。 ...

+0

これは文書化されていませんが、あなた自身で定義を見ることができます。一見したところで、私はなぜこの処理を行うのかわかりません。[processing-instruction(x)]としてSELECT OBJECT_DEFINITION(OBJECT_ID( 'sys.sp_MSforeachdb'))FOR XML PATH' –

+0

Martin ...あなたはそれを見ていますかspの中の線?私がspで見ることは、すべてのdbsを取得し、それぞれに対してsqlを実行する "かなり"簡単なプロセスです。 –

+0

正確に何を意味するのかわからない、spの中のどの行ですか? –

関連する問題