Azure VM で SQL Server インストール済みイメージの SQL Server を日本語版として再インストールする場合、
- 英語版の SQL Server をアンインストール
- SQL Server の評価版をダウンロード
- 評価版のインストールを実施する際に、仮想マシン内に含まれているインストールメディアのプロダクトキーを使用してインストール
というような手順で対応をしますが、この対応をした場合、SQL Server の IaaS Agent がアクセスできない状態となっているかと思いますので、対応手順を書いておきたいと思います。
SQL Server の IaaS Agent では、自動バックアップ等の設定をコマンドレットやポータルから連携できるような機能が含まれています。
現状のポータルですと、SQL Server の拡張機能がインストールされている仮想マシンについては「SQL Server の構成」というメニューが使えるようになっており、ここから設定の変更や、ディスクの使用状況を確認することができます。
この機能ですが、「Microsoft SQL Server IaaS Agent」(SQLIaaSExtension) というサービスとして動作しており、このサービスはデフォルトの設定では「NT Service\SQLIaaSExtension」というサービスアカウントで動作しています。
SQL Server を再インストールした際に気を付けておきたいt内容としては、再インストールを実施することで、このサービスが SQL Server に接続ができない状態となることがあることです。
このサービスのサービスアカウントですが、デフォルトでは「Administrators」グループに追加されています。
これは、拡張機能をインストールする際に、シングルユーザーモードで SQL Server を起動して設定を行っているからだと思いますが、インストール時の管理者ユーザーとして、「Administrators」以外を指定した場合は、SQLIaaSExtension サービスが SQL Server に接続ができる、ログインの失敗が記録されている状態となっているはずです。
SQL Server の ERRORLOG を確認すると、以下のようなログインの失敗のエラーが大量に出力されているかと。
イベントログのアプリケーションを確認すると、「Microsoft SQL Server IaaS Agent」「Microsoft SQL Server Status Reporting」「Microsoft SQL Server Credential Management」というソースでも、エラーが頻繁に発生していることが確認できます。
再インストールを実施し、サービスのアクセス権が無い場合は、「Remove-AzureRmVMSqlServerExtension」「Set-AzureRmVMSqlServerExtension」で拡張機能を再インストールするか、以下の SQL を実行して、ログインの設定を行う必要があります。
# 拡張機能をインストール際には、SQL Server のサービスをシングルユーザーモードで再起動しているため、SQL Server のサービスが一時的に停止された状態になります。
USE [master] GO CREATE LOGIN [NT Service\SQLIaaSExtension] FROM WINDOWS GO ALTER SERVER ROLE [sysadmin] ADD MEMBER [NT Service\SQLIaaSExtension] GO
SQL Server の拡張機能も気づいたら、定期的に情報を取得して Azure ストレージに情報を送り、ポータルから見えるようになったりと、細かな機能がいろいろと増えていますね。
[…] Azure VM の SQL Server のイメージで SQL Server を再インストールした後の SQL Server IaaS Agent の再接続について […]
Azure Update (2017.02.09) | ブチザッキ
9 2月 17 at 05:58