在一台位於HK的Azure SQL Virtual Machine上修改排序規則,重建系統數據庫后,監控發現大量的登錄失敗告警生成,如下所示:
DESCRIPTION: Login failed for user 'NT Service\SqlIaaSExtension'. Reason: Could not find a login matching the name provided. [CLIENT: <local machine>]
從上述告警信息,我們得到下面一些信息:
1:這個賬號是從本機登錄SQL Server數據庫。
2:這個Login不存在了。
因為這台Azure SQL Virtual Machine是位於香港,配置開啟了自動備份功能( Automated Backup)。 SQLIaasAgent與NT Service\SQLIaasExtension一起運行的名為SQLIaaSExtension的服務。它需要定期登錄以檢查自動備份和應用補丁。此服務帳戶需要系統管理員權限。而由於我修改實例的排序規則,重建了系統數據庫,導致了這個登錄名不存在了,所以導致了這個告警信息。關於SQL Server IaaS 代理擴展 (SQLIaaSExtension) ,它主要有SQL 自動備份、SQL 自動修補、Azure 密鑰保管庫集成, 詳細細節可以參考下面鏈接https://docs.microsoft.com/zh-cn/azure/virtual-machines/windows/sql/virtual-machines-windows-sql-server-agent-extension?toc=%2Fazure%2Fvirtual-machines%2Fwindows%2Ftoc.json
We require the Microsoft SQL IAAS Agent service in running state for enabling automated backups and its functioning. When we enable Automated Backup on our virtual machine, the extension will be automatically installed.Automated Backup automatically configures Managed Backup to Microsoft Azure for all existing and new databases on an Azure VM running SQL Server 2014 Standard or Enterprise. This enables us to configure regular database backups that utilize durable Azure blob storage. Automated Backup depends on the SQL Server IaaS Agent Extension.
我們要求Microsoft SQL IAAS代理服務處於運行狀態,以啟用自動備份及其功能。 當我們在我們的虛擬機上啟用自動備份時,該擴展程序將自動安裝。
自動備份會自動將托管備份配置到Microsoft Azure,以便運行SQL Server 2014 Standard或Enterprise的Azure VM上的所有現有數據庫和新數據庫。 這使我們能夠配置利用持久Azure blob存儲的常規數據庫備份。 自動備份取決於SQL Server IaaS代理擴展。
解決方案:
在數據庫添加“NT Service\SQLIaasExtension”並授予它系統管理員權限后,問題就消失了。如果你不想自動備份和修補,你可以選擇禁用或刪除SQLIaaSAgent以避免這個告警。

