先週、1つの要件の一部として、すべてのデータベースオブジェクトのオブジェクト定義を生成するスクリプトを作成しました。sys.objects [name]列が定義内のオブジェクト名と一致しません(ストアドプロシージャ名)
テスト中に、[sys.objects] .nameが(OBJECT_DEFINITION(Object_ID)によって返される)実際のオブジェクト定義で名前と一致しないストアドプロシージャがほとんど見つかりませんでした。それは非常に奇妙で、私は人生で初めてそれを見た。
同じ理由から考えると、ストアドプロシージャをオブジェクトエクスプローラ(SQL Server Management Studioの[表示] - > [オブジェクトエクスプローラ])から名前を変更したときに発生することがわかりました。
実際のオブジェクト名(この場合はSP名)を取得する方法はありますか?
あなたが使ったクエリと実際に見ている違いを投稿してください。 – TheGameiswar
それは簡単なクエリです。 SELECT OBJECT_DEFINITION(Object_ID)、[name] FROM sys.objects name = '{Object name}' –