SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for 12月 21st, 2014

SQL Database v12 Preview で SQLCLR を使用する

leave a comment

SQL Database の v12 Preview では、SQLCLR を使用することができるようになりました。
ということで少し使ってみたいと思います。

私はコードを書くのが苦手なので、TaaS せんせーが後日素晴らしい SQLCLR のアセンブリを作ってくれると思います。

あと、えろす師匠、鰻奢ってください。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 21st, 2014 at 11:29 pm

Posted in SQL Database

Tagged with

SQL Server / SQL Database の IDENTITY プロパティの連番の保証性について

leave a comment

twitter で質問をいただいたので少しまとめてみたいと思います。

SQL Server  / SQL Database では、数値型の連番を簡単に設定するためのプロパティとして IDENTITY があります。
これを設定しておくと自動的に連番が付与されますが、サーバーの再起動等が発生した場合には連番は保証されません。

これについては
IDENTITY (プロパティ) (Transact-SQL)
IDENTITY プロパティ使用時の動作について
に記載されています。

SQL Server 2012 以降は、IDENTITY の説明として以下が追加されています。

サーバーの再起動または他のエラーが発生した後の連続した値: SQL Server では、パフォーマンス上の理由から ID 値をキャッシュすることがあります。割り当てられた値の一部は、データベースの障害やサーバーの再起動が発生したときに失われることがあります。  その結果、挿入時に非連続的な ID 値が生成される場合があります。 非連続的な値が許可されない場合、アプリケーションでは、シーケンス ジェネレーターを NOCACHE オプションを指定して使用するか独自のメカニズムを使用して、キー値を生成する必要があります。

この動作について少し見ていきたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

12月 21st, 2014 at 6:22 pm