2021 年に入ってからの更新です。
SQL Server IaaS Agent 拡張機能を使用して SQL Server on Azure VM の管理性を向上させる (2021/2 最新情報)
先日、次のような投稿を書きました。
Azure の仮想マシン (Azure VM) で SQL Server を使用する際には、SQL Server IaaS Agent 拡張機能 (IaaS エージェント) (以下、IaaS Agent) という、Azure の仮想マシン上で実行している SQL Server の管理性を向上させる機能を無償で使うことができます。
IaaS Agent をインストールすると、仮想マシンにインストールしている SQL Server を「SQL 仮想マシン」というブレードで一元管理できるようになりますので、サブスクリプション内でどのような SQL Server を使用しているかもひと目で確認でき、管理面でもいろいろと便利です。
先日の投稿では、日本語環境の SQL Server として再インストールした場合の、IaaS Agent の再導入方法と、IaaS Agent の機能の一つである、自動バックアップについて触れましたが、IaaS Agent にはこれ以外の機能も豊富に含まれており、次のような機能を利用することができます。
- BYOL / AHUB (AHB) / SA の DR 特典のライセンスモデルをVM の再構築をすることなく変更が可能
- エディション / バージョン変更をした場合の VM の課金の変更
- SQL Server に適したストレージの設定
- ポータルからストレージを拡張
- OS / SQL Server の重要なパッチについて、スケジューリングして適用が可能
- SQL Server の暗号化機能の暗号化キーを Key Vault に格納し、管理性を向上
- インスタンス内の全データベース (今後、作成されるデータベースを含む) を自動的にバックアップ
- 高可用性環境の構築をポータルから実施可能
投稿内にも記載していますが、サブスクリプション内の現在の VM および、今後展開する VM すべてを自動登録 のように、SQL Server がインストールされている仮想マシンが存在する場合には自動的に登録を行う機能もありますので、保持しているサブスクリプションでは、有効にしておけば、IaaS Agent の登録の抜けもないかと思います。
自動登録は、仮想マシンの再起動が不要な「軽量管理モード」での導入が基本となっていますので、稼働中の SQL Server に IaaS Agent がインストールされていない場合でも、再起動のリスクはなく、導入することができます。
軽量管理モードで利用可能な機能はライセンスモデル / エディション / バージョンの変更の機能のみとなりますが、SQL 仮想マシンのブレードによる一元管理は使用できますので、軽量管理モードでインストールするだけでも管理性は向上するかと。
Azure の仮想マシンで SQL Server を実行する場合、IaaS Agent を導入することで、適切なライセンスを使用していることの宣言にもつながりますので、SQL Server を Azure 仮想マシン上で実行する際には、自動登録の機能も活用しながら、原則導入するようにしておいた方がよいかと。
本投稿では、IaaS Agent でできることを一通り記載しましたが、運用 / 構築に関してのかなりの作業の容易性が向上するための機能を無償で使用することができます。
また、本投稿は、日本で SQL Server を利用する際には設定する機会が多いと思われる、SQL Server の日本語化を SQL Server on Azure VM (インストール済みイメージ) の日本語化 (2021/1 版) の手順で実施した環境で、確認をしていますので、IaaS Agent の各機能は日本語環境でも利用することが可能です。
SQL Server Management Studio が英語版で起動するようになった場合の回避策
日本語版の SQL Server Management Studio をインストールしているにもかかわらず、英語版の SSMS が起動するようになった場合の回避方法です。
私の場合は、Azure の SQL Server インストール済み VM の展開をしていて、
- 初期で導入されている英語版の SSMS を起動
- 英語版の SSMS をアンインストールし日本語版の SSMS をインストール
- SSMS を起動しても英語版の UI で起動してしまう
というような状態になってしまい、これを修正した際の方法となります。
レジストリとファイル削除を実施していますので、本投稿を元に作業を実施される際には自己責任で対応をお願いします。
PASS クローズ後に SQL Server 関連の情報のキャッチアップするには
SQL Server の最大のユーザーグループであった PASS (Professional Association for SQL Server) が 2021/1/15 にクローズとなり、今年から、SQL Server の情報をキャッチアップする場所にも変化が出てくるのではないでしょうか。
PASS のクローズにより SQLSaturday もクローズとなっており、ユーザー主体のイベントの実施状況にも影響が出てくるかと思います。
sqlpass.org / pass.org / sqlsaturday.com のドメインで運営されていたものは、今回のクローズに伴い閉鎖されており、2021/1/15 以降は、これらのドメインで公開されていたコンテンツにはアクセスができなくなっています。
SQLSaturday の豊富なコンテンツが検索サイトでヒットしなくなるのは大きな痛手ですね…。
(一部のコンテンツについては、各スピーカーの方が、個別にアップロードしてくださっていたりもしますので、すべてが参照できなくなったわけではないようですが)
PASS クローズ後に、SQL Server 関連の情報をキャッチアップするためには、どのサイトを確認するのが良いかについて、まとめておきたいと思います。
2021/1/26 時点の情報ですので、今後、状況が変化する可能性があるということはご了承ください。
2021/1/29 追記
Community news: We are delighted to announce that PASS and SQLSaturday assets have been acquired by @redgate. You can check out the details here: https://t.co/9qtKPhvTg6 #sqlpass #sqlsaturday #sqlfamily pic.twitter.com/EO5byHUuOT
— Redgate (@redgate) January 28, 2021
PASS の資産ですが、Redgate が取得されたようです。
PASS が保有していたコンテンツも取得されており、これらをどのように取り扱うかは検討されているようです。
Redgate は SQL Server の製品 / コミュニティともかかわりが深い企業ですので、PASS が保有していたコンテンツの取り扱いについては、Redgate が取得されたことで一安心かなと思っています。
Redgate の PASS 関連のニュースについては Looking for PASS or SQLSaturday? に登録をしておくとメールが流れてきますので、その情報を参考にするとよいのではないでしょうか。
Azure Arc enabled SQL Server にちょい足しする
Azure Arc enabled SQL Server (Azure Arc 対応 SQL Server) をインストールすることで、Azure 以外で稼働している SQL Server を Azure 上で管理 / Azure の一部の機能の管理性を提供することができるようになります。
インストールしただけの状態でも、いくつかの管理機能を使用することができますが、「SQL Server の運用」を考慮した場合、ちょい足しすると便利になる箇所がありますので、本投稿では、そのちょい足しの一例を紹介したいと思います。
今回は Azure Arc enabled SQL Server の環境で実施していますが、enabled SQL Server ではなく、SQL Server がインストールされている環境に、Log Analytis エージェントをインストールすることでも同様のことは実現できます。
ADO のドキュメント
たまに調べようと思って、どのドキュメントを見ればよいかを忘れてしまうのでまとめておこうと。
ADO.NET ではなく、VBScript 等で使用される懐かしの ADO (Microsoft ActiveX Data Object) の方です。
- Microsoft ActiveX Data Objects (ADO)
- ADO を使用して SQL Server のストアドプロシージャ内の値を取得する
- ADO オブジェクト モデル
- VBScript での ADO プログラミング
- ADO 概要
現在、ADO を使用する場合、VBScript / WSH から使用することが多いかと思います。
昨今の環境でこれらの IDE については、VbsEdit を使用すると良いのではないでしょうか。
WSH については次のドキュメントで。
一部は VBA のドキュメントですが。
- Windows Script Host overview
- wscript
- cscript
- 付録 B: スクリプトとサポート ファイル
- オブジェクト (Visual Basic for Applications)
ASP のページを見ることで思い出すこともあるのでこちらも。
ADO… 何もかも、みな懐かしい…。
第 11 世代 (Gen11) の Intel NUC についてのメモ
Intel の第 11 世代 (Gen11) の NUC (Tiger Lake) が使用されているモデル (Phantom Canyon) の情報がアナウンスされました。
自宅の検証環境として、Intel の NUC の Pro Kit を使用しているのですが、今回アナウンスのあった Gen11 の NUC については vPro が搭載されており、サーバー OS も標準でサポートされておる Pro Kit についても、モデルの公開が行われました。
そろそろ、検証環境を増強したいなと考えていたので、検証環境で使用しようなモデルをざっくりと調べてみました。
SQL Server IaaS Agent 拡張機能の自動バックアップ機能について
SQL Server on Azure VM で実行している SQL Server では、SQL Server IaaS Agent 拡張機能 を使用することができます。
この拡張機能を使用することで、Azure VM (仮想マシン) 上で実行している SQL Server の運用の利便性を向上させることができ、今回、話題にする「自動バックアップ機能」につても、利便性を向上させることができる機能の一つとなっています。
この自動バックアップ機能について、少し調べる機会がありましたので、自動バックアップ機能の構成についてまとめておきたいと思います。
SQL Server on Azure VM (インストール済みイメージ) の日本語化 (2021/1 版)
Azure の Marketplace で公開されている SQL Server on Azure VM のイメージは、英語版の環境で構築されているため、日本語環境相当で利用するためには、いくつかの設定が必要となります。
MS ブログでも次の情報として公開が行われています。
- Azure 仮想マシン上に作成した SQL Server の日本語化手順(SQL Server 2012 , 2014 対応手順)
- Azure 仮想マシン上に作成した SQL Server の日本語化手順(SQL Server 2016 対応手順 )
- Azure 仮想マシン上に作成した SQL Server の日本語化手順(Windows OS 版 SQL Server 2017 対応手順)
- Change Locale/language of SQL Server on Azure VM
基本的な作業については、上記の内容となるのですが、SQL Server on Azure VM も上記の情報の公開後から、いくつかの機能が追加されていますので「Marketplace のインストール済みイメージの展開相当の状態」にするには、上記のドキュメントの他に、いくつかのポイントがあります。
必要となる作業とポイントについては、本投稿でまとめていますが、そもそもとして「本当に日本語版の SQL Server を使用する必要があるのか?」は意識しておいた方がよいかと思います。
インスタンスレベルの照合順序を日本語版の SQL Server の照合順序 (Japanese_CI_AS や Japanese_xxxxx 系) にする必要があり、英語版の SQL Server を使用しても問題ないのであれば、VM 展開直後に サーバーの照合順序の設定または変更 でインスタンスレベルの照合順序を変更したほうが楽です。
本投稿では「SQL Server 2019 on Windows Server 2019」の「SQL Server 2019 Enterprise on Windows Server 2019 Databas Engine Only」の Marketplace のイメージを日本語化するシナリオで記載しています。
SQL Server のページラッチ (PAGELATCH) の必要性
SQL Server では、「メモリにロードされた (バッファ上にキャッシュされた) ページ (データ領域)」を保護するための機構として、「ページラッチ (PAGERATCH)」というリソースを保護するための機能があります。
公式ドキュメントとしては SQL Server でラッチの競合を診断および解決する で解説が行われています。(こちらのドキュメントは以前は英語のホワイトペーパーとして公開されていたものが、Docs で翻訳されたものになるかと)
本ブログではページラッチについて、あまり取り扱ったことが無かった気がするので、この機会にまとめておこうかと。