我无法在 Azure 门户中或使用 Cloud Shell 将 Active Directory 管理员添加到新创建的 SQL 托管实例。
当我在 Azure 门户中尝试时,操作失败,并在活动日志中显示以下消息:
Operation name: Update Administrator of Azure SQL Managed Instance. Create
Time stamp: Sun Nov 17 2019 xxxxx
Event initiated by: Admin A
Error code: ResourceOperationFailure
Message: The resource operation completed with terminal provisioning state 'Failed'.
运行以下命令时:
Set-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName "myResourceGroupName" -InstanceName "myInstaceName" -DisplayName "Chris Green" -ObjectId "xxx-xxxx-xxx-xxxx"
我收到以下错误...
Set-AzSqlInstanceActiveDirectoryAdministrator : Long running operation failed with status 'Failed'. Additional Info:'The operation timed out and automatically rolled back. Please retry theoperation.'
At line:1 char:1
+ Set-AzSqlInstanceActiveDirectoryAdministrator -ResourceGroupName "NWN ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Set-AzSqlInstanceAc\u2026ectoryAdministrator], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.Sql.InstanceActiveDirectoryAdministrator.Cmdlet.SetAzureSqlInstanceActiveDirectoryAdministrator
我能够将 Active Directory 管理员分配给同一订阅中之前创建的 SQL 托管实例。我尝试过的其他一些事情:
如何进一步解决此问题?日志中是否可能有更具体的信息?是否有任何 SQL/Powershell 命令可以进一步诊断故障?
我自己最近遇到了这个问题。当服务器上已存在用户/登录名但不存在登录名时,错误响应将超时。文档说 LOGIN 不能先存在,但没有关于 USER 的信息。就我而言,登录在准备过程中被删除,但用户在场。该错误是超时,建议“再次重试此操作”。
如果这不是一个全新的组/用户,则在开始操作之前使用系统表(sysusers/sql_logins 等)在低级别验证所分配的 AD 用户是否已从服务器中完全删除。