0

我在 Windows 10 机器上安装了 Microsoft SQL Server Management Studio v17.3。我创建了一个中央管理服务器实例并成功连接到它。

我为不同的 URL 创建了第二个中央管理服务器实例,并且测试连接通过。但是,第二个中央管理服务器实例未能出现在连接到服务器的服务器名称下拉列表中。相反,出现了我第一次创建并已删除的旧实例。

当我单击浏览服务器时,我在数据库引擎下得到一个长列表,但不是我想要的服务器。

当我右键单击注册服务器(我创建的第二个服务器,它没有出现在下拉列表中)并选择对象资源管理器时,SSMS 停止工作消息,然后 SSMS 正在重新启动。

事件查看器报告两个错误。从上到下:

Event 1000, Application Error

Faulting application name: Ssms.exe, version: 2017.140.17199.0, time stamp:    0x59d44f4f
Faulting module name: KERNELBASE.dll, version: 10.0.15063.674, time stamp: 0x6d16dd24
Exception code: 0xe0434352
Fault offset: 0x000eb872
Faulting process id: 0x22c8
Faulting application start time: 0x01d35a6d01c23a7f
Faulting application path: C:\Program Files (x86)\Microsoft SQL    Server\140\Tools\Binn\ManagementStudio\Ssms.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 7597bf9e-4992-4f78-ac09-2bdb12a4ee2f
Faulting package full name: 
Faulting package-relative application ID: 

第二个错误是:

Event 1026, .NET Runtime

Application: Ssms.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Data.SqlClient.SqlException
   at Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction, System.Object, System.Data.DataSet, Boolean)
   at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(System.Data.SqlClient.SqlCommand)

Exception Info: Microsoft.SqlServer.Management.Common.ExecutionFailureException
   at Microsoft.SqlServer.Management.Common.ServerConnection.GetExecuteReader(System.Data.SqlClient.SqlCommand)
   at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(System.String, System.Data.SqlClient.SqlCommand ByRef)
   at Microsoft.SqlServer.Management.Sdk.Sfc.ExecuteSql.GetDataReader(System.String, System.Data.SqlClient.SqlCommand ByRef)
   at Microsoft.SqlServer.Management.Sdk.Sfc.DataProvider.SetConnectionAndQuery(Microsoft.SqlServer.Management.Sdk.Sfc.ExecuteSql, System.String)
   at Microsoft.SqlServer.Management.Sdk.Sfc.ExecuteSql.GetDataProvider(System.Collections.Specialized.StringCollection, System.Object, Microsoft.SqlServer.Management.Sdk.Sfc.StatementBuilder, RetriveMode)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SqlObjectBase.FillData(Microsoft.SqlServer.Management.Sdk.Sfc.ResultType, System.Collections.Specialized.StringCollection, System.Object, Microsoft.SqlServer.Management.Sdk.Sfc.StatementBuilder)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SqlObjectBase.FillDataWithUseFailure(Microsoft.SqlServer.Management.Sdk.Sfc.SqlEnumResult, Microsoft.SqlServer.Management.Sdk.Sfc.ResultType)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SqlObjectBase.BuildResult(Microsoft.SqlServer.Management.Sdk.Sfc.EnumResult)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SqlObjectBase.GetData(Microsoft.SqlServer.Management.Sdk.Sfc.EnumResult)
   at Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData()
   at Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData(Microsoft.SqlServer.Management.Sdk.Sfc.Request, System.Object)
   at Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.GetData(System.Object, Microsoft.SqlServer.Management.Sdk.Sfc.Request)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SfcInstance.GetInitDataReader(Microsoft.SqlServer.Management.Common.ISfcConnection, Microsoft.SqlServer.Management.Sdk.Sfc.Urn, System.String[], Microsoft.SqlServer.Management.Sdk.Sfc.OrderBy[])
   at Microsoft.SqlServer.Management.Sdk.Sfc.SfcInstance.Initialize()
   at Microsoft.SqlServer.Management.Sdk.Sfc.SfcCollection`3[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].CreateAndInitializeChildObject(System.__Canon)
   at Microsoft.SqlServer.Management.Sdk.Sfc.SfcCollatedDictionaryCollection`3[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetObjectByKey(System.__Canon)
   at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServersStore.get_DatabaseEngineServerGroup()
   at Microsoft.SqlServer.Management.RegisteredServers.SharedServer.GetServerGroupByType(Microsoft.SqlServer.Management.Common.ServerType)
   at Microsoft.SqlServer.Management.RegisteredServers.Utils.GetServerGroupFromNode(System.Windows.Forms.TreeNode, Microsoft.SqlServer.Management.Common.ServerType)
   at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.get_SelectedNodeAsServerGroup()
   at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.ConnectOeToCurrentNode(Boolean)
   at Microsoft.SqlServer.Management.RegisteredServers.RegisteredServerTree.OnConnectOeToCurrentNode(System.Object, System.EventArgs)
   at System.Windows.Forms.MenuItem.OnClick(System.EventArgs)
   at System.Windows.Forms.MenuItem+MenuItemData.Execute()
   at System.Windows.Forms.Command.Invoke()
   at System.Windows.Forms.Command.DispatchID(Int32)
   at System.Windows.Forms.Control.WmCommand(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.TreeView.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.OnMessage(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.Control+ControlNativeWindow.WndProc(System.Windows.Forms.Message ByRef)
   at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr, Int32, IntPtr, IntPtr)

我已尝试卸载并重新安装 SSMS。我安装了最新的 Visual C++ 2013 Redistributable Package。版本 12.00.40660。

我还安装了 Visual Studio Express,希望它能解决任何 .NET 问题。

DBA 可以使用我的凭据登录到远程服务器,所以它在我的机器上。任何帮助将不胜感激。

4

1 回答 1

1

我对 SSMS 安装进行了修复。之后,错误变得清晰;这是权限的错误。DBA 允许我访问一个数据库,但该数据库依赖于第二个数据库。一旦 DBA 授予我的 userId 访问第二个数据库的权限,一切正常。

至于为什么新安装需要维修;不知道。重复卸载/重新安装 SSMS 并没有解决它。

于 2017-11-14T14:06:18.243 回答