SQL Server v.Next CTP 1.3 では、Windows / Linux のクロスプラットフォームで可用性グループを組むことができます。
作った際に思ったことをつらつらと。
実際に構築した環境が以下になるのですが、Windows と Linux で分散型可用性グループを組んでおり、Windows がプライマリ可用性グループとなり、Windows 側の DB 変更が Linux 側に伝搬される構成で作っています。 ![]()
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
SQL Server on Linux の可用性グループのフェールオーバーの制御が多少分かったので軽くまとめておきたいと思います。
仮想 IP 経由の接続はできているのですが、読み取りセカンダリへのアクセスがうまく制御できていません。。。。
Always On Availability Group for SQL Server on Linux に、
Read-only routing SQL Server routes incoming connections to an availability group listener to a secondary replica that is configured to allow read-only workloads.
と記載されているので、できそうなのですが、久しぶりに設定したので設定方法を間違っているというオチかもしれませんが…。
フィード眺めていて知りました。
SQL Server v.Next の CTP 1.3 がリリースされました。
SQL Server next version CTP 1.3 now available
SQL Server vNext Release Notes
What’s New in SQL Server vNext
直近ですと、Nordic infrastructure Conference 2017 – SQL Server on Linux Overview で情報が公開されていたのですが、AlwaysOn 可用性グループのサポートが行われたようです。
SQL Server on Linux: Mission-critical HADR with Always On Availability Groups
実際の設定方法については、Always On Availability Group for SQL Server on Linux から確認することができそうです。
実際に、試してみたのですが、以下の画像のような Ubuntu × 2 の環境で、AlwaysOn を構築することができました。
フルテキスト検索についても今回からサポートされているようです。
Install SQL Server Full-Text Search on Linux
Linux 向けの DMV についても今回のリリースで追加されたようです。
Linux Process Dynamic Management Views (Transact-SQL)
Azure VM で SQL Server インストール済みイメージの SQL Server を日本語版として再インストールする場合、
というような手順で対応をしますが、この対応をした場合、SQL Server の IaaS Agent がアクセスできない状態となっているかと思いますので、対応手順を書いておきたいと思います。
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 という、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 のインストール からの一連の流れが参考になります。
SQL Server 2016 では、 JSON 関数が追加されていて、SSIS でもサクッと JSON のデータをロードすることができるようになっていますので、軽くメモを。
SQL Server エージェントのジョブをクエリから実行する場合「sp_start_job」を使用することができます。
この際の実行ですが、ジョブの起動の可否の取得をすることはできますが、ジブの実行終了を待機するというオプションはありません。
そのため、クエリから SQL Server エージェントのジョブを実行すると、起動可否の情報の取得のみが行われ処理の完了までは待機が行われません。
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.