使用 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
我想是新技术...
还有其他人有这方面的经验吗?
你能检查一下你的SSMS版本吗?请使用 SSMS 18+(预览版),因为这可能是旧版本 SSMS 中的一些问题。
我启动了一个新的 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
我想是新技术...
还有其他人有这方面的经验吗?
你能检查一下你的SSMS版本吗?请使用 SSMS 18+(预览版),因为这可能是旧版本 SSMS 中的一些问题。