次の方法で共有


[順序のプロパティ] ([全般] ページ)

適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance

シーケンス オブジェクトを作成し、そのプロパティを指定します。 シーケンスは、シーケンスが作成された仕様に従って数値のシーケンスを生成するユーザー定義のスキーマ バインド オブジェクトです。 数値のシーケンスは、定義された間隔で昇順または降順に生成され、要求に応じて再起動 (繰り返し) するように構成できます。 ID 列とは異なり、シーケンスは、特定のテーブルに関連付けられていません。 アプリケーションは、シーケンス オブジェクトを参照して、次の値を受け取ります。 シーケンスとテーブルの関係は、アプリケーションによって制御されます。 ユーザー アプリケーションは、シーケンス オブジェクトを参照し、複数の行とテーブル間で値を調整できます。

挿入時に生成される ID 列値とは異なり、アプリケーションで NEXT VALUE の関数を呼び出すことで、行を挿入せずに次のシーケンス番号を取得できます。 一度に複数のシーケンス番号を取得するには、 sp_sequence_get_range を使用します。

CREATE SEQUENCE および NEXT VALUE FOR 関数を両方使用する場合の詳細およびシナリオについては、「 シーケンス番号」をご覧ください。

このページには 2 とおりの方法でアクセスできます。オブジェクト エクスプローラーで [シーケンス] を右クリックして [新しいシーケンス]をクリックするか、既存のシーケンスを右クリックして [プロパティ]をクリックします。 既存のシーケンスを右クリックして [プロパティ]をクリックした場合は、オプションは編集不可能です。 シーケンス オプションを変更するには、ALTER SEQUENCE (Transact-SQL) ステートメントを使用するか、シーケンス オブジェクトを削除してから再作成してください。

[オプション]

[シーケンス名]
ここにシーケンス名を入力します。

[シーケンス スキーマ]
このシーケンスを所有するスキーマを指定します。

データの種類
シーケンスを任意の整数型として定義できます。 これには、次のものが含まれます。

データ型 Range
tinyint 0 ~ 255
smallint -32,768 ~ 32,767
int -2,147,483,648 ~ 2,147,483,647
bigint -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807
  • decimal または numeric の場合、小数点以下を含みません。

  • これらの種類のいずれかに基づいている、すべてのユーザー定義データ型 (別名型) です。

[精度]
decimal データ型または numeric データ型については、有効桁数を指定します (小数点以下桁数は常に 0 です)。

[開始値]
シーケンス オブジェクトによって返される最初の値です。 START 値は、シーケンス オブジェクトの最小値以上および最大値以下にする必要があります。 新しいシーケンス オブジェクトの既定の開始値は、昇順のシーケンス オブジェクトの最小値および降順のシーケンス オブジェクトの最大値です。

[増分]
NEXT VALUE FOR 関数を呼び出すたびに必要なシーケンス オブジェクトの値を増分 (負の場合は減少) させるのに使用される値です。 増分値が負の値の場合はシーケンス オブジェクトは降順で、それ以外の場合は昇順です。 0 は増分として使用できません。

最小値
シーケンスのオブジェクトの境界を指定します。 新しいシーケンス オブジェクトの既定の最小値は、シーケンス オブジェクトのデータ型の最小値です。 これは、0 を tinyint データ型およびその他のすべてのデータ型の負の数。

最大値
シーケンスのオブジェクトの境界を指定します。 新しいシーケンス オブジェクトの既定の最大値は、シーケンス オブジェクトのデータ型の最大値です。

制限に達するとサイクルのシーケンスが再起動します。
オンにすると、最小値または最大値を超過した場合、シーケンス オブジェクトを最小値 (または降順シーケンス オブジェクトの最大値) から再起動することができます。

Note

サイクルは開始値からではなく最小値または最大値から再起動されます。

[キャッシュ オプション]
シーケンス値のキャッシュを作成し、シーケンス番号を作成するのに必要なディスク IO の数を最小限に抑えることで、シーケンス オブジェクトを使用するアプリケーションのパフォーマンスを向上できます。

  • 既定のキャッシュ サイズ - データベース エンジンによってサイズが選択されますが、選択が一貫していない場合があるため、注意が必要です。 Microsoft は、予告なしにキャッシュ サイズの計算方法を変更する場合があります。

  • キャッシュなし - SQL Server でシーケンス番号がキャッシュされません。

  • サイズと共にキャッシュ - SQL Server でシーケンス値がキャッシュされます。 SQL Server では、現在の値とキャッシュに残された値の数を追跡します。 したがって、キャッシュを格納するために必要なメモリ量は、常にシーケンス オブジェクトのデータ型の 2 つのインスタンスと等しくなります。

CACHE オプションを使用してシーケンス番号を作成する際に予期しないシャットダウン (電源障害など) が発生すると、キャッシュ内のシーケンス番号が失われる可能性があります。

CREATE SEQUENCE のオプションの詳細については、「CREATE SEQUENCE (Transact-SQL)」をご覧ください。

アクセス許可

SCHEMA に対する CREATE SEQUENCE権限、 ALTER権限、または CONTROL 権限が必要です。

参照

sys.sequences (Transact-SQL)