SQL Database では、DTU の使用状況で、リソースの使用状況を確認することができますが、それ以外の方法でも取得することができそうだったので、軽くメモを。
Author Archive
Pssdiag/Sqldiag Manager と SQL Nexus Tool を使用した情報の取得と可視化
Pssdiag/Sqldiag Manager と、SQL Nexus Tool というツールを組み合わせることで、SQL Server の情報の取得と可視化を行うことができます。
Pssdiag/Sqldiag Manager は、PSSDIAG の情報取得をするための設定ファイルの作成を支援するための機能で、最新バージョンでは、SQL Server 2016 まで、対応したものが公開されています。
CodePlex で公開されていたものは、少し手を加えないと SQL Server 2016 に対応していないものでしたが、Github で公開されている最新版は SQL Server 2016 に対応したものとなっています。
SQL Nexus は PSSDIAG で取得された情報を可視化するものとなり、取得したデータ加工してレポートを作ってくれます。
両ツールを久しぶりに使ってみたところ、いくつかポイントがありましたので軽くまとめておきたいと思います。
Project Nami の環境をオンプレミスに手動で構築してみる
Project Nami という、SQL Server / SQL Database を使用した WordPress の環境を構築できるものがあります。
Deploy to Azure により、Azure 上にすぐに構築ができるようになっていますが、オンプレミスの環境で一から構築するとどうなるのかと思って試してみました。
今回は、Windows Server 2016 + SQL Server 2016 SP 1 (Japanese_CI_AS でデフォルトインストール) の環境に対して、構築を行っています。
# Web サーバー兼 DB サーバーの環境となります。
https://github.com/ProjectNami/projectnami に記載されていますが、SQL Server on Linux との互換性もありますので、Windows の SQL Server から Linux の SQL Server にバックアップを復元しての相互利用についてのデモ用途としても使えるのかなと。
少し古い情報かも知れませんが、Any interest in a step by step guide on how to setup Project Nami self-hosted? のスレッドの内容も参考になります。
IIS で PHP をインストールについては、手順 1:IIS および PHP のインストール からの一連の流れが参考になります。
SSIS で JSON を JSON 関数を使ってロードする
SQL Server 2016 では、 JSON 関数が追加されていて、SSIS でもサクッと JSON のデータをロードすることができるようになっていますので、軽くメモを。
SQL Server エージェントのジョブをクエリから同期的に実行する
SQL Server エージェントのジョブをクエリから実行する場合「sp_start_job」を使用することができます。
この際の実行ですが、ジョブの起動の可否の取得をすることはできますが、ジブの実行終了を待機するというオプションはありません。
そのため、クエリから SQL Server エージェントのジョブを実行すると、起動可否の情報の取得のみが行われ処理の完了までは待機が行われません。
SSIS で JSON からテーブルを作成してデータをインポートするフローを作成してみる
SSIS で、以下のような JSON を元にテーブルを生成して、そのテーブルに対して、データをインポートするフローを作ってみました。
SSIS-Sample
テスト用でフローがいくつか入っているのですが、以下のようなフローを作成しています。
![]()
作成していた中でポイントとなりそうだった箇所をいくつかまとめておきたいと思います。
Read the rest of this entry »
クローンデータベースとクエリストアを使用したワークロード分析
以前、クエリストアを使用したデータベースチューニングアドバイザーの実行 という投稿を書いたのですが、SSMS 16.3 で、
SQL Server クエリ ストアからのワークロードの自動読み取りをサポートするためのデータベース エンジン チューニング アドバイザー (DTA) を機能強化。
という強化が行われました。
2017/1/25 時点の RTM の最新 (16.5.2) の GUI のデータベースチューニングアドバイザー (DTASHELL) には、クエリストアの選択肢はなかったのですが、CUI の DTA には、「-iq」という、クエリストアをワークロードとしたチューニングアドバイスが追加されていたようです。
# 16.3 のチューニングアドバイザーから、CUI については追加されていた可能性があります。
-iq
Specifies that the Query Store be used as the workload. The top 1,000 events from the Query Store for explicitly selected databases are analyzed. This value can be changed using the ?n option. See Query Store and Tuning Database Using Workload from Query Store for more information.
SQL Server on Linux CTP のアップデートについて
SQL Server on Linux はマンスリーアップデートで、新しいバージョンが公開されます。
2017/1/22 時点は CTP 1.2 がリリースされています。
CTP 1.2 の変更点については以下になります。
What’s New in SQL Server vNext
SQL Server on Linux のマンスリーアップデートの適用ですが、以下で対応できるかと。
sudo apt-get update sudo apt-get install mssql-server
SQL Server on Linux のメインのプログラムは sfp にパックされた形で構成されているため、再度インストールすると sfp が入れ替えられ、SQL Server の構成ファイルやシステムデータベースはそのまま残した状態で新しいものに入れ替えられるようです。
システムデータベースのバージョンアップは実行されていると思いますので、古い CTP のバージョンに戻すことはできないと思いますが、上位には変更することが可能です。
SQL Database のクエリのトレース方法について
SQL Database は SQL Server プロファイラで接続をすることができないため、SQL Server で使用する機会の多い、プロファイラを用いたクエリのトレースを実施することができません。
データベースエンジンの SQL Server プロファイラを使用したトレースに関しては、今後廃止される予定の機能となっているため、SQL Database 向けに提供されることはないと思います。
SQL Database のクエリのトレース方法については、拡張イベントで実施するのが一般的な方法になるかと。
Azure VM の SQL Server IaaS Agent の SQL Server 2016 対応が行われています
Azure VM の SQL Server の構築時にいくつかの設定を投入することができる SQL Server IaaS Agent (IaaS 拡張) の SQL Server 2016 対応が行われているようです。