从 SQL Server Management Studio 连接到数据库服务器时出错

Posted

技术标签:

【中文标题】从 SQL Server Management Studio 连接到数据库服务器时出错【英文标题】:Error while connecting to Database Server from SQL Server Management Studio 【发布时间】:2019-08-21 09:51:22 【问题描述】:

最近,在尝试从 SQL Server Management Studio 连接到任何 SQL Server 数据库时,我收到一个错误 - Service 'Microsoft.SqlServer.Management.IRegistrationService' not found (Microsoft.SqlServer.Management.SDK.SqlStudio)

我尝试更新到最新版本的 SQL Server Management Studio,但没有任何变化。

完整的错误堆栈如下:

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

Service 'Microsoft.SqlServer.Management.IRegistrationService' not found (Microsoft.SqlServer.Management.SDK.SqlStudio)

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

   at Microsoft.SqlServer.Management.ServiceProvider.GetService[T](IServiceProvider serviceProvider, Boolean throwIfNotFound)
   at Microsoft.SqlServer.Management.SqlStudio.Explorer.NavigationService.Initialize()
   at Microsoft.SqlServer.Management.SqlStudio.Explorer.NavigationService.GetView(String urnPath)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.<GetColumnsFromNavigationService>d__11.MoveNext()
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.AddFields(List`1 list, IEnumerable`1 fields, IDictionary`2 allValidFields, AddFieldsFlags flags)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.GetParentFields(INodeInformation source, Dictionary`2& allValidColumns)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItemWithQuery(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, String urnQuery, Boolean registerBuilder, Boolean registerBuiltItems)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.BuildDynamicItem(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItemBuilder.Build(IList`1 nodes, INodeInformation source, INavigableItem sourceItem, IFilterProvider filter)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.NavigableItem.RequestChildren(IGetChildrenRequest request)
   at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ExplorerHierarchyNode.BuildChildren(WaitHandle quitEvent)

知道为什么会发生这个错误吗?

【问题讨论】:

可能是权限。您是否尝试过以管理员身份运行来打开它? @AlwaysLearning - 是的。我试过了。它仍然给出同样的错误 试用版是否过期? 考虑到 SSMS 是免费的,并且 OP 表示他们已更新到最新版本(SSMS 18.1),因此将没有试用期。 我也尝试将其升级到 SSMS 18.2 版本。 【参考方案1】:

对我有什么帮助...(版本 17.9.1)

我已检查文件:

C:\Users\<user>\AppData\Roaming\Microsoft\AppEnv\14.0\ActivityLog.xml

在那里我找到了该目录的信息:

C:\Users\<user>\Documents\SQL Server Management Studio

尚未找到。 我已经手动创建了它并且... SSMS 开始工作了。

是的,我知道...听起来很疯狂。

【讨论】:

我遇到了同样的问题 - 这个文件夹丢失了。这是由“受控文件夹访问”(Windows 10)引起的。 很好的提示 - 我不得不重新启动 MSSMS,它就像做梦一样工作。 这对我也有用。我必须在 C:\Users\\Documents\Visual Studio 2017\ArchitectureExplorer 下添加一个名为“ArchitectureExplorer”的附加文件夹【参考方案2】:

@Marek Malczewski 是对的,谢谢先生!

我也查看了日志文件并以相同的方式修复了它,这是一个屏幕截图供您确认。

【讨论】:

这个解决方案对我有用。【参考方案3】:

安装 .NET 4.8。 我遇到了完全相同的问题,它对我有用。

【讨论】:

它没有用。我尝试安装 .net 运行时。我仍然看到同样的错误

以上是关于从 SQL Server Management Studio 连接到数据库服务器时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 BCP 或 Sql Server Management Studio 从 Sql Server 中获取 BLOB 数据?

从 SQL Server Management Studio 连接到数据库服务器时出错

从 SQL Server Management Studio 2008 运行 SSIS 包

从 SQL Server Management Studio 查询两个单独的 SQL Compact 数据库

通过 Management Studio 从 SQL Server 2012 导出到 .CSV

在 SQL Server Management Studio 中从多维数据集中删除分区