使用 SSMS GUI 为 Azure SQL 托管实例创建数据库失败

Create database using SSMS GUI fails for Azure SQL Managed Instance

我启动了一个新的 Azure SQL 托管实例,它似乎可以正常工作。然后我根据文档创建了一个 Jumpbox 虚拟机来管理虚拟网络的各种组件,包括托管 SQL 实例。

我可以通过 Jumpbox 上的 SSMS 连接到 Azure SQL 托管实例(使用我在启动服务时指定的管理员凭据)但是当我尝试创建新数据库时出现以下异常.

===================================

Create failed for Database 'ODP'.  (Microsoft.SqlServer.Smo)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=14.0.17289.0+((SSMS_Rel_17_4).181117-0805)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476

------------------------------
Program Location:

   at Microsoft.SqlServer.Management.Smo.SqlSmoObject.CreateImpl()
   at Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabaseData.DatabasePrototype.ApplyChanges(Control marshallingControl)
   at Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabase.DoPreProcessExecution(RunType runType, ExecutionMode& executionResult)
   at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.DoPreProcessExecutionAndRunViews(RunType runType)
   at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.ExecuteForSql(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult)
   at Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.Microsoft.SqlServer.Management.SqlMgmt.IExecutionAwareSqlControlCollection.PreProcessExecution(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult)
   at Microsoft.SqlServer.Management.SqlMgmt.ViewSwitcherControlsManager.RunNow(RunType runType, Object sender)

有人知道为什么会失败吗?我使用管理员凭据登录实例,并使用管理员凭据登录 Jumpbox。我也在 Windows 中以管理员身份尝试 运行 SSMS 遇到同样的问题。

该错误表明在安装 SSMS 时可能缺少依赖项,但我不知道那可能是什么。

编辑:

环顾四周,我想知道这是否只能通过 Powershell 或 Bash 脚本完成。有人确认吗?

好的,

SSMS GUI 似乎不受支持。我只是尝试通过 T-SQL 命令创建一个新的数据库,它成功了。看起来也可以通过以下链接中描述的 Bash 和 Powershell 脚本实现。

Managed API reference for Azure SQL Database Managed Instances

CREATE DATABASE

我想是新技术...

还有其他人有这方面的经验吗?

你能检查一下你的SSMS版本吗?请使用 SSMS 18+(预览版),因为这可能是旧版本 SSMS 中的一些问题。