SE の雑記

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

Archive for 2月, 2019

SQL Server 2019 の新機能の ハイブリッドバッファープールを試してみる

leave a comment

SQL Server 2019 では新機能として、ハイブリッド バッファー プール (Hybrid Buffer Pool) という機能が新しく追加されます。

ドキュメントベースではなんとなく動作を理解できていたのですが、実際の動作を確認できていなかったので、軽くではありますが動作を試してみました。
Read the rest of this entry »

Written by Masayuki.Ozawa

2月 21st, 2019 at 11:52 pm

Posted in SQL Server

Tagged with ,

2019/3 の丸わかり 1 日セミナーの申し込みが開始されています

leave a comment

毎月、品川の Microsoft 様で開催されている SQL Server 丸わかり 1 日セミナーの 2019/3 開催の申し込みが開始されています。
3 月は、2019年3月5日(火) 13:00-17:30 で開催となっています。
SQL Server の達人になる! 丸わかり1日セミナー SQL Server 2019 とデータベースマイグレーションの最新情報をお届け! [セミナー] 東京開催
可能な限り、最新の情報をお届けできるようにしておりますので、最新情報をキャッチアップされたい方は、ぜひご参加くださいませ。

Written by Masayuki.Ozawa

2月 19th, 2019 at 9:42 am

Posted in 未分類

DMV の情報を定期的に取得して時系列データを作成する

leave a comment

簡単な PowerShell のスクリプトですが Collect-QueryInfo というツールを公開しました。
このツールを使用すると、定期的に DMV の情報を SQL Server のデータベースに格納することができます。
これによりどのような情報の解析が可能となるかを見ていきたいと思います。
情報の取得元の SQL Server のバージョンは SQL Server 2012 以降となっています。
Read the rest of this entry »

Written by Masayuki.Ozawa

2月 17th, 2019 at 11:47 pm

Posted in SQL Server

Tagged with

SQL Server でステートメントレベルでキャッシュから実行プランを取得

leave a comment

SQL Server でプランキャッシュから実行プランを取得する場合、「sys.dm_exec_query_plan」を用いて、クエリの実行プランの取得を行うことが一般的ではないでしょうか。
このテーブル値関数ではプランハンドルを渡すことで、プランキャッシュから実行プランを取得することができます。
この時、取得される実行プランは「バッチ全体」のプランとなっています。
Read the rest of this entry »

Written by Masayuki.Ozawa

2月 17th, 2019 at 1:53 pm

Posted in SQL Server

Tagged with

拡張イベントと DMV を活用したセッション情報の取得

leave a comment

SQL Server のクエリの動作確認を実施していて、

  • 自クエリが使用した CPU 時間等の取得
  • 発生した待ち事象の取得
  • 取得されたロック情報の取得

を確認したいと考えたことはないでしょうか?
拡張イベント (xEvent) と、DMV を活用することで、これらの情報を取得することができます。
SQL Server 2012 以降であればこの仕組みを使用することができるはずです。
「本番環境での利用」は一切考慮しておらず、「開発環境でクエリの動作を確認すること」を目的としていますので、実行する環境には注意してください。
Read the rest of this entry »

Written by Masayuki.Ozawa

2月 17th, 2019 at 12:02 am

Posted in SQL Server

Tagged with

SQL Server IaaS Agent 拡張機能が日本語版の SQL Server に対してもサポートされるようになりました

leave a comment

Azure の仮想マシンで SQL Server を利用する際に、管理タスクを自動化することができる「SQL Server IaaS Agent 拡張機能」が、SQL Server インストール済みイメージに対して、日本語版の SQL Server をインストールした場合にもサポートされるようになりました。
Azure 仮想マシン上に作成した SQL Server の日本語化手順(Windows OS 版 SQL Server 2017 対応手順)
ただし、SQL Server Agent 拡張機能 (Resource Manager) による Azure Virtual Machines での管理タスクの自動化 に記載されているように SQL Server インストール済みイメージを使用した場合のみサポートされる状況には変わりがなさそうですので、この点は注意が必要かと。

注意
SQL Server IaaS Agent 拡張機能は、SQL Server VM ギャラリー イメージ (従量課金制またはライセンス持ち込み) でのみサポートされます。 SQL Server を OS のみの Windows Server 仮想マシンに手動でインストールする場合や、カスタマイズされた SQL Server VM VHD をデプロイする場合、この拡張機能はサポートされません。 そのような場合は、PowerShell を使用して拡張機能を手動でインストールおよび管理できる可能性がありますが、Azure Portal には SQL Server の構成設定が表示されません。 ただし、代わりに SQL Server VM ギャラリー イメージをインストールしてカスタマイズすることを強くお勧めします

SQL Server IaaS Agent 拡張機能は、以下の 2 種類のサービスで構成されています。
image
これらのサービスが SQL Server に対してアクセスできるようにする必要があるのですが、一番手っ取り早いのは SQL Server IaaS Agent 拡張機能を再インストールすることかと思います。
アンインストールについては、ポータルの拡張機能から実施することができますし、PowerShell でも削除することができます。
image

Remove-AzureRmVMSqlServerExtension -ResourceGroupName "<リソースグループ名>" -VMName "<VM 名>" -Name "SqlIaasExtension"

インストールについてはポータルからは実施することができませんので、PowerShell でインストールする必要があります。

Set-AzureRmVMSqlServerExtension -ResourceGroupName "<リソースグループ名>" -VMName "<VM 名>" -Name "SqlIaasExtension" -Version "2.0" -Location "<リージョン>"

 
Azure のゲストエージェント経由でインストールが行われ、IaaS Agent は Local System のサービスとして動作するため、SQL Server に対して接続が可能となっており、SQL Server にアクセスし、NT Service\SQLIaaSExtensionQuery のログインの作成などが実施されています。
(「NT Service\SQLIaaSExtensionQuery」は「sysadmin」のログインとなっています)
インストールが完了すると、ポータルの仮想マシンのブレード内に「SQL Server の構成」が表示され、様々な設定を行うことができるようになります。
image
IaaS Agent は、SQL Server の管理の利便性を向上させることができますので、日本語版の SQL Server のインストールを実施した場合もサポートされるようになったのはうれしいですね。
Azure での SQL Server 仮想マシンのライセンス モデルを変更する方法 を実施するためにも IaaS Agent が必要となりますので、このライセンス変更を日本語版の SQL Server を使った場合に実施できるようになったことも大きな改善点ではないでしょうか。

Written by Masayuki.Ozawa

2月 3rd, 2019 at 11:35 pm