SSMS can't connect to remote server, crashes

0

I installed Microsoft SQL Server Management Studio v17.3 on a Windows 10 box. I created a Central Management Server instance and successfully connected to it.

I created a second Central Management Server instance to a different URL and the Test connection passed. However, the second Central Management Server instance fails to appear in the Server name drop-down of Connect to Server. Instead, an old instance that I first created and have since deleted appears.

When I click to Browse for Servers I get a long list under Database Engine but not the server that I want.

When I right-click on the Registered Server (the second one that I created and which doesn't appear in the drop-down) and select Object Explorer, SSMS stopped working message followed by SSMS is restarting.

Event Viewer reports two errors. From top to bottom:

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: 

The second error is:

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)

I have tried uninstalling and reinstalling SSMS. I installed the latest Visual C++ 2013 Redistributable Package. Version 12.00.40660.

I also installed Visual Studio Express in the hope that it might fix any .NET problems.

The DBA can login to the remote server using my credentials so it is something on my machine. Any help would be greatly appreciated.

.net
windows-10
ssms-2017
asked on Stack Overflow Nov 10, 2017 by MikeJRamsey56

1 Answer

0

I ran a repair on the SSMS installation. After that, the error became clear; it was a permission's error. The DBA gave me access to one database but that database depended on a second database. Once the DBA gave my userId permission to access that second database everything worked.

As to why a new install needed a repair; no idea. Repeated uninstall/reinstalls of SSMS didn't fix it.

answered on Stack Overflow Nov 14, 2017 by MikeJRamsey56

User contributions licensed under CC BY-SA 3.0