ITエンジニアの成長ブログ

ITエンジニアとして行う勉強の発信&日々の生活で体験した楽しいことをゆるく発信

SQL ServerでIDENTITYプロパティを設定しているテーブルを検索するクエリ

SQL ServerでIDENTITYプロパティを設定しているテーブルを検索するクエリを備忘として残します。
お仕事でIDENTITYプロパティを使用しているテーブルを調査したかったときに使いました。

IDENTITYプロパティは、簡単に言えばSQL Serverで連番を生成してくれる機能です。
単純な連番を付与したい場合にアプリケーション側で連番を管理しなくても良いのでとても便利な機能だと思います。

検索クエリ

IDENTITYプロパティを設定しているテーブルを検索するクエリは以下の通りです。

SELECT
  SCHEMA_NAME(t1.schema_id) AS schemaName
 ,t1.name AS tableName
 ,t2.name AS columnName
 ,t2.is_identity
FROM
  sys.tables t1
INNER JOIN
  sys.columns t2
  ON t1.object_id = t2.object_id
WHERE
  t2.is_identity = 1
ORDER BY
  schemaName
 ,tableName
 ,columnName
;

実行例

以下のようなIDENTITYプロパティを設定したカラムで上記SQLの実行結果を確認してみます。

f:id:mr_star:20210831102235p:plain
IDENTITYプロパティを設定しているテーブルを検索するクエリ①
f:id:mr_star:20210831102432p:plain
IDENTITYプロパティを設定しているテーブルを検索するクエリ②

以下のように検索結果が出力されます。

f:id:mr_star:20210831102658p:plain
IDENTITYプロパティを設定しているテーブルを検索するクエリ③