本文へ移動
Develop Tools
← 使い方ガイドへ戻る

C#・.NET・SQL Server向けGUIDを生成・検証する方法

C#のGuid、SQL Serverのuniqueidentifier、PowerShellで識別子を準備するときは、文字列表記だけでなくバイナリ化した際のバイト順も確認すると連携ミスを防げます。

GUIDの件数と.NET書式を選び、コード出力と既存GUIDのバイト順を確認する流れ
GUIDの件数と.NET書式を選び、コード出力と既存GUIDのバイト順を確認する流れ

このガイドが役立つ場面

GUID生成、C# Guid一括生成、SQL Server uniqueidentifier用データ作成、GUID形式変換、Guid.ToByteArrayの確認をブラウザで行いたい利用者向けです。

  • C#のテストデータへ複数のGuid値を用意する
  • SQL Serverのuniqueidentifier列へ投入するINSERT文を作る
  • 外部システムとGUIDのバイト列が一致しない原因を確認する

.NETのGUID書式を選ぶ基準

  • Dは一般的なハイフン付き、Nは32桁、Bは波括弧、Pは丸括弧、Xは16進構造体形式
  • SQL Serverのuniqueidentifierへ渡す値は通常D形式が扱いやすい
  • Guid.ToByteArray()は先頭3フィールドがリトルエンディアンになる
  • NEWSEQUENTIALID()はSQL Server側で生成するためブラウザでは再現しない

GUIDを生成・検証する手順

  1. 必要な件数、D・N・B・P・X形式、大文字・小文字を選択します。
  2. 利用先に合わせてC#、VB.NET、PowerShell、SQL Serverなどの出力形式を選びます。
  3. GUIDを生成し、件数と重複なしを確認してコピーまたは保存します。
  4. 既存値は検証欄へ貼り付け、Version、Variant、Guid.Empty、バイト順を確認します。

GUIDをシステム間で渡す際の注意

GUID文字列は同じでも、16バイトへ変換する方法によって並びが異なる場合があります。データベース、API、ファイル仕様が期待するエンディアンを確認してください。

GUIDは推測されにくい識別子として利用できますが、秘密鍵、アクセストークン、認可判定の代わりにはなりません。

具体例:SQL Server投入用GUIDをまとめて作る

テスト用テーブルのuniqueidentifier列へ複数行を投入する場合、GUIDを1件ずつ作るよりINSERT形式でまとめて出力すると転記ミスを減らせます。

生成後は重複がないことを確認し、実テーブル名とカラム名へ置き換えてテスト環境で実行します。

  1. 生成件数とD形式を選択します。
  2. 一括出力形式でSQL Server INSERT文を選択します。
  3. 生成して重複が0件であることを確認します。
  4. 出力内のtarget_tableとguid_valueを対象名へ置き換えます。

本番環境へ投入する前に、トランザクション、主キー制約、既存GUIDとの重複をテスト環境で確認してください。

よくある質問

GUIDとUUIDは違うものですか?
GUIDはMicrosoft製品で広く使われるUUID互換の128bit識別子です。このツールは.NET固有の表記とバイト順へ重点を置いています。
生成したGUIDはサーバーへ送信されますか?
生成、形式変換、検証、ファイル作成はブラウザ内で行われ、Develop Toolsのサーバーへ送信しません。

ブラウザで試す

入力内容はブラウザ内で処理されます。元データを残したうえで、結果を確認してから保存・共有してください。

GUID生成・検証ツールを開く