SE の雑記

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

Archive for the ‘SQL Server’ tag

vPMEM についてのメモ

leave a comment

Azure VM をデプロイしようとしたところ、次のような表示になっていて気づきました。
image

Gen2 VM については、「vPMEM」という表示があり、情報としては去年から出ていたようなのですが、Hyper-V の最新の仮想マシンでは、Persistent Memory を仮想マシン上で使用するための vPMEM という機能があるのですね。

Windows Server バージョン 1709 の新機能 ですでに公開されていたようなのですが、全くキャッチアップできていませんでした。

有効にするための方法については HYPER-V Vm の永続的なメモリ デバイスを構成するためのコマンドレット で記載されています。

PMEM 上に「vhdpmem」という拡張子のファイルを作成し、仮想マシンに追加した PMEM のコントローラーにそのファイルをディスクとして追加することで、仮想マシン上で PMEM の利用を可能とするというようなアプローチのようです。
(通常のディスク上にも vhdpmem ファイルを作成することはできますが、残念ながら通常のディスク上に作成しても、接続した仮想マシンを起動することはできませんでした)

VMWare にも vPMEM の考え方があるようで、各社仮想マシンで PMEM を利用するアプローチが進められているようですね。

Hyper-V の PMEM 対応については、Windows Support for PM – SNIA が詳しそうです。

去年、GCP が PMEM 対応のアナウンスを行っていたことは記憶にあったのですが、Gen2 VM に表示があるということは、Azure でもそのうち PMEM が利用できる VM が提供されるのかもしれないですね。

Written by masayuki.ozawa

6月 17th, 2019 at 10:37 pm

Posted in Hyper-V,SQL Server

Tagged with ,

SQL Database の更新情報 (2019/6/13 版)

leave a comment

6/12 にいくつかの更新が発表されていましたのでまとめて確認しておこうかと。

Advanced Data Security available for SQL Server on Azure Virtual Machines

SQL Server on Azure VM で高度なデータセキュリティ機能が利用可能になりました。
SQL Database では以前から実装されていますが、この技術が IaaS の SQL Server でも使用できるようですね。

機能としては、次の 2 種類が使用できるようになるようです。

  • 脆弱性評価
  • 高度な脅威検知

次のような情報も併せて公開されていますね。

脅威検知については、現状は、通常とは異なるアクセスについての検知が利用できるようですが、SQL インジェクションのようなクエリ実行に対しての検知の提供も準備されているようですね。

 

Azure SQL Database Managed Instance でリージョンのリソース制限のサポートが拡大されました

Managed Instance はサブスクリプション内にデプロイできる数がかなり少なく制限されていたのですが、この制限が緩和されたようです。

image

以前はこのような制約でしたが、結構緩和されていますね。

image

最新のリソース制限については こちら を確認していただければ。

 

General availability: 4 vCore Azure SQL Database managed instances on Gen5 hardware

Gen5 については 4 コアモデルの提供が開始されました。
価格の情報リソース制限 の情報も更新されています。

4 コアモデルであれば、今までと比べるとかなりやすく使用できますね。
デモがやりやすくなりうれしい限りです。

 

Dev/test pricing option for individual Visual Studio subscribers is now available for Azure SQL Database managed instance

こちらもうれしい情報なのですが、Visual Studio サブスクリプションについている Azure サブスクリプションで、Managed Insance が利用できるようになりました。

さらに「開発テスト用従量課金プラン」と同様に 55% ディスカウントされた金額で利用できますので、検証時の費用は結構抑えられそうです。

 

Azure SQL Database default configuration changing soon

新しいデータベースを作成した際のデフォルトの構成が汎用目的 / 2 vCore / Gen5 のモデルとなりました。
オプションを何も設定せずに CREATE DATABASE すると次のような DB で作成されます。
image

Written by masayuki.ozawa

6月 13th, 2019 at 11:26 pm

Datadog を使用して SQL Server のメトリクスを取得する際の覚書

leave a comment

Datadog のエージェントには、標準で SQL Server のメトリクスを取得するための、Integration が含まれています。

軽く触ってみた際の覚書を。

Read the rest of this entry »

Written by masayuki.ozawa

6月 9th, 2019 at 11:32 pm

Posted in SQL Server

Tagged with ,

SQL Database のディスクを使用した処理の最小応答時間を取得してみる

leave a comment

de:code 2019 の  DP06 Deep-dive in Azure Cosmos DB: Advanced topics on partitioning, data distribution and indexing で実施されていた Cosmos DB のグローバル分散のデモ で面白いなと思ったものの一つとして、リージョンが違うことによるレイテンシーの違いというものがありました。

この見せ方、面白いなと思って、SQL Database でも簡単なものを試してみました。

DTU モデルの場合は公開されていないのですが、vCore モデルの場合は、デプロイ時に次のような記載があります。

image

データファイル / ログファイルのような物理ファイルにアクセスする場合の想定待機時間が記載されていますね。
詳細については、仮想コアベースの購入モデルを使用した単一データベースに対するリソース制限 でまとめられているのですが、基本的な考え方としては次のようになります。

  • リモートストレージへのアクセス
    • 書き込み時 : 5 ~ 7 ミリ秒程度の I/O 待機時間
    • 読み込み時 : 5~10 ミリ秒程度の I/O 待機時間
  • ローカルストレージへのアクセス :
    • 書き込み時 : 1~2 ミリ秒程度の I/O 待機時間
    • 読み込み時 : 1~2 ミリ秒程度の I/O 待機時間

SQL Database はサービスレベルに応じて、使用するストレージ (接続方式) が異なります。

DTU モデルの「Basic」「Standard」と、vCore モデルの「汎用目的」については、「リモートストレージ」が使用されており、データベースは Azure Premium Storage 上に格納されています。

image

DTU モデルの「Premium」と、vCore モデルの「ビジネスクリティカル」については、「ローカルストレージ」が使用されており、リモートストレージと比較して、高速にアクセスができるようになっています。

image

データベースの処理時間を考える際には、以下の 2 点を考慮する必要があるか思います。

  • アプリケーションからのアクセスを考慮した応答時間
  • データベース単体の応答時間

今回はこれらを考慮した情報の取得を行ってみたいと思います。

Read the rest of this entry »

Written by masayuki.ozawa

6月 9th, 2019 at 3:13 pm

de:code 2019 の DP01 Big Data Cluster 入門の資料を公開しております

leave a comment

先日、登壇させていただいた de:code 2019 の SQL Server 2019 Big Data Cluster 入門の資料を Github で公開させていただきました。

https://github.com/MasayukiOzawa/decode-2019

こちらにスライドの PDF も公開してあります。

今回のデモは Azure Data Studio の Notebook を使用して実施しましたので、Github 上のデモ用コンテンツも実行済みの Notebook の形でアップロードしてあります。

どんなことができるか、どんな動作になるかはそのまま確認していただけるかと。

Written by masayuki.ozawa

6月 5th, 2019 at 10:32 pm

Posted in SQL Server

Tagged with ,

SQL Database Hyperscale の構成や特徴を学習する

leave a comment

最終更新日 : 2019/07/20

SQL Database の Hyperscale が Build 2019 で GA され、SLA 付きで使用できるようになりました。
現在公開されている情報を見ながら学習してみました。

公式のドキュメントは次の情報となります。

より詳しい情報については、次のドキュメントから確認できます。

これらの情報を把握することで、FAQ に記載されている内容が「なぜそうなるのか?」ということを理解することができ、構成の把握を進める上で役に立つかと思います。

Read the rest of this entry »

Written by masayuki.ozawa

6月 2nd, 2019 at 6:39 pm

SQL Server の「高速挿入」についての覚書

leave a comment

最近、SQL Server の Bulk Insert について、調査することが何回かあり、その中で「高速挿入」(Fast Inserts / Fast Load Context) の動作をどこまで見れるか、考えたことがあったので、その覚書を。

詳細な情報としては次の内容を参照してください。

Read the rest of this entry »

Written by masayuki.ozawa

5月 27th, 2019 at 12:06 am

Posted in SQL Server

Tagged with

SQL Server 2019 CTP 3.0 がリリースされました

leave a comment

月次でリリースされている SQL Server 2019 の Preview の CTP 3.0 がリリースされました。
de:code の 1 週間前にリリースされたので、「俺のセッションに影響はないのか!?」と、ちょっと焦りましたがなんとかなりそうです。

アナウンスはこちら。

詳細についてはリリースノートや What’s New で確認できます。

ざっくりとした内容は次のようなものです。

Read the rest of this entry »

Written by masayuki.ozawa

5月 23rd, 2019 at 11:47 pm

Posted in SQL Server

Tagged with ,

Azure SQL Database serverless (プレビュー) を触ってみました

leave a comment

Build 2019 で発表された Azure SQL Database serverless を少し触ってみました。

ドキュメントはこちらから。

基本的な考え方としては AWS の Aurora サーバーレス に通じるものがあるのかと。
(Azure SQL Database serverless は、現時点では最大 4 コアのモデルまでの小さなサイズでの提供となっていますので、スケール面での考え方は異なりますが)

Read the rest of this entry »

Written by masayuki.ozawa

5月 11th, 2019 at 11:47 pm

SQL Database で一般ユーザーで個別のプランキャッシュのクリア

leave a comment

SQL Server ベースの環境で、プランキャッシュをクリアする場合、次のような構文を使用します。

SQL Database の場合は、DBCC ステートメントが使用できませんので、「ALTER DATABASE」でプランキャッシュのクリアが必要となります。

最近の更新で 「ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE」に、プランハンドルが指定できるようになりましたので、個別のプランのクリアも可能です。

ALTER DATABASE による、プランキャッシュのクリアですが、「データベースの CONTROL 権限」が必要となります。

CONTROL 権限 は、強めの権限となり、一般のユーザーに付与するには高すぎる権限です。

ALTER DATABASE CONFIGURATION だけで大丈夫でした orz
(CONTROL は上記の権限を付与するのに必要なだけでした)

プランキャッシュのクリアが必要なケースとしては

  • プランのリコンパイルが発生し、実行プランが望ましくない場合に、再コンパイル対象としたい

ケースが考えられます。

このようなケースのプランキャッシュのクリアについては、管理者権限を持っていないユーザーでも実施したいケースがあるのではないでしょうか。

本投稿では、そのようなケースが発生した場合の実現方法をまとめてみたいかと。

Read the rest of this entry »

Written by masayuki.ozawa

5月 11th, 2019 at 1:54 pm