私は非常に、非常に奇妙な見つける何かに遭遇しました。私はobject_definition(object_id('StoredProcedureName'))
のようなものを使ってストアドプロシージャの定義を取得しています。私は新しいクエリを実行しようとしたときしかし、私は、ストアドプロシージャを変更するobject_definitionを使用していたので、私達のデータベースの一部に、出力は、これが問題でしたSQLオブジェクト定義は、存在しない別のオブジェクトの定義を返しますか?
Create Procedure dbo.SomeOtherStoredProcedure
だったことに気づいて、それストアドプロシージャ 'SomeOtherStoredProcedure'が存在しないと言います。
私はobject_idが使用しているとき、私は、オブジェクトの種類を指定していないよ知っているが、(私が間違っているなら、私を修正)返された定義はまた、ストアドプロシージャであるため、私はここでの問題はないと思います。
私は知らないobject_definition
またはobject_id
にはいくつかの癖はありますか?何が原因でしょうか?
(SQL Azureでは、SSMS 2012)
ストアドプロシージャの名前が変更されたときにこの現象が発生することができますように見えます。そのような場合、「真の」定義を得る方法について私は確信していません。 – AaronHolland