LoginSignup
0
0

More than 5 years have passed since last update.

変にコケて中身が空っぽのストアドを探しだすだけのクエリ

Last updated at Posted at 2018-04-13

どんな感じよ

自作スクリプトとかで一括してストアドを流したあと、反映に失敗してるやつを見つけるためのクエリ・・・
ものすごくピンポイントでたぶん僕しか使わないですねえ。僕のよくやる失敗のケツを吹くだけのクエリですねえ。

例えば

開発環境で作成・編集したストアドを、ステージング環境へ反映だ!って時に、まさかまさか

SELECT * FROM OPENDATASOURCE('fugafuga','Data Source=hogehoge;----').dbo.SomeTable

なんて罠があったりするとコケる。
あるいは

SELECT * FROM AnotherRenamedDataBase.dbo.SomeTable

なんて言うふうに、開発環境用のデータベース名にしてて、それを変更せぬまま反映しようとしてコケたとか。

単にコケるだけならいいけど、ストアドは残るけど中身は空っぽ、ってなことになったりする。

そんなときに


SELECT   O.type,
         O.name,
         M.definition
FROM     sys.sql_modules AS M
           INNER JOIN sys.objects AS O
            ON M.object_id = O.object_id
WHERE    O.type='P'
and REPLACE(rtrim(ltrim(M.definition)), CHAR(13) + CHAR(10), '') like '%AS'
ORDER BY O.type,
         O.name;

これを使用すると、クエリが途中で切れちゃってるやつを検索出来る。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0