SQL Database の v12 Preview では、SQLCLR を使用することができるようになりました。
ということで少し使ってみたいと思います。
私はコードを書くのが苦手なので、TaaS せんせーが後日素晴らしい SQLCLR のアセンブリを作ってくれると思います。
あと、えろす師匠、鰻奢ってください。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQL Database の v12 Preview では、SQLCLR を使用することができるようになりました。
ということで少し使ってみたいと思います。
私はコードを書くのが苦手なので、TaaS せんせーが後日素晴らしい SQLCLR のアセンブリを作ってくれると思います。
あと、えろす師匠、鰻奢ってください。
twitter で質問をいただいたので少しまとめてみたいと思います。
SQL Server / SQL Database では、数値型の連番を簡単に設定するためのプロパティとして IDENTITY があります。
これを設定しておくと自動的に連番が付与されますが、サーバーの再起動等が発生した場合には連番は保証されません。
これについては
IDENTITY (プロパティ) (Transact-SQL)
IDENTITY プロパティ使用時の動作について
に記載されています。
SQL Server 2012 以降は、IDENTITY の説明として以下が追加されています。
サーバーの再起動または他のエラーが発生した後の連続した値: SQL Server では、パフォーマンス上の理由から ID 値をキャッシュすることがあります。割り当てられた値の一部は、データベースの障害やサーバーの再起動が発生したときに失われることがあります。 その結果、挿入時に非連続的な ID 値が生成される場合があります。 非連続的な値が許可されない場合、アプリケーションでは、シーケンス ジェネレーターを NOCACHE オプションを指定して使用するか独自のメカニズムを使用して、キー値を生成する必要があります。
この動作について少し見ていきたいと思います。
SQL Server の可変長文字列 (varchar / nvarchar) では、
というような文字列をデータとして登録した場合、可変長文字列では
というように設定されている文字列のみが登録されます。
char(10) というような固定長文字列型にデータを入れた場合には、
といった形で空白が付与されて固定長文字列として処理がされます。
それでは、
というようなデータに空白が含まれるものを入れた場合にはどうなるかを本投稿で見ていきたいと思います。
SQL Server 2014 としていますが、SQL Server 2005 SP1 以降であれば、おそらく使えるのではと思っています。
# SQL Server 2008 は CU3 以降かもしれませんが…。
以下の情報も参考になります。
Automating Deployment of SQL Server Maintenance Plans
SSIS package query
SSIS Package Extract from MSDB
How to Transfer(Copy) Maintenance Plans from One Server to other???….
SQL Server 2014 データベース エンジンの非推奨機能SQL Server ではバックアップのリストアに下位互換があり、リストアしようとするバックアップを取得した SQL Server のバージョンにも依存するのですが、上位のバージョンでは下位のバージョンのバックアップをリストすることが可能です。
上位互換はないため、新しいバージョンで取得したバックアップを下位のバージョンにリストアすることはできません。
また、デタッチ / アタッチシナリオを利用して、データベースを新しいバージョンの SQL Server にアタッチした場合、アタッチしたタイミングでデータベースの内部のバージョンアップが行われています。
そのため、新しいバージョンでアタッチしたデータベースを下位のバージョンの SQL Server にアタッチするということもできません。
新しいバージョンに移行をした際の、切り戻し方法としてはデータベースのバックアップ / リストア、デタッチ / アタッチではなく、データベースのインポート / エクスポートを用いて実施する必要があります。
基本的には直近三世代のバージョンの SQL Server のバックアップをリストアすることが可能となっており、それ以前の世代のバックアップについてはリストアをすることができません。
簡単にではありますが、バックアップ / リストアについてまとめてみたいと思います。
本投稿では、
で取得したバックアップを
でリストアするパターンについて記述しています。
テーブルのデータを瞬時に削除する方法として、TRUNCATE TABLE があります。
DELETE との違いは以下になります。
DELETE ステートメントは、一度に 1 行ずつ削除し、削除した各行のエントリをトランザクション ログに記録します。 TRUNCATE TABLE は、テーブル データを格納するのに使用するデータ ページの割り当てを解除することによってデータを削除し、ページの割り当ての解除だけをトランザクション ログに記録します。
ということで、TRUNCATE TABLE が何をやっているかをざっくりと。
SQL Database V12 Preview では新しい機能としてテーブルのパーティショニングがサポートされました。
この機能を少し試してみたいと思います。
Read the rest of this entry »
SQL Database の次期アップデートである v12 の提供が Preview ですが本日から開始されました。
ほかにもいろいろとアップデートがあるようですが、情報を追うためのメモを。
基本は以下を見てもらうとよろしいかと思います。
What’s new in the Latest SQL Database Update V12 (preview) ←おすすめ
Plan and prepare to upgrade to the Latest SQL Database Update V12 (preview) ←おすすめ
Public preview: Azure SQL Database update
Microsoft Strengthens Data Platform with SQL Database and Big Data Appliance Updates, Adds New Java SDK for its NoSQL Service
Azure: Premium Storage, RemoteApp, SQL Database Update, Live Media Streaming, Search and More
Preview Available for Latest Version of Azure SQL Database
SQL Database Pricing
SQL Server のクエリチューニングをする際に参考になる情報のメモを。
移動中に、Lenovo Miix 2 を使用しているのですが、たまにタッチが使えなくなるので、その対処方法のメモを。
マウス / またはキーボードが接続されていないとこの対処方法使えませんが…。