Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@naoya21

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

どんな感じよ

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

例えば

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

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;

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
0
Help us understand the problem. What are the problem?