В связи с работой, которую я выполняю, на моем ноутбуке должна быть установлена последняя версия SQL Server, SQL Server Management Studio и Visual Studio 2017 Dev (все последние версии, доступные на сегодняшний день на сайтах Microsoft для загрузки).
Все работает нормально, пока я не установлю VS 2017 (с большим количеством опций - общая установка составляет около 50 ГБ, что отражает выполненную работу).Когда это сделано, происходит сбой SSMS, когда я переключаюсь между вкладками.Да.Я открыл запрос A на вкладке A, затем запрос B на вкладке B (подключение к тому же серверу), и когда я щелкаю только что загруженный запрос B (двойной щелчок в проводнике Windows и использование сопоставления файлов .sql по умолчанию) - boom: noсообщение об ошибке, без предупреждения.SSMS показывает вращение колеса в течение 5 секунд, а затем оно перезапускается.
Очевидно, что на данный момент это непригодно для использования, но кто-нибудь имел подобную проблему и выследил причину, прежде чем я взломал Windows и переустановил все с нуля?
Уже пробовал восстановить SSMS, восстановить VS, SSMSпереустановка, переустановка VS, деинсталляция SSMS, затем переустановка, деинсталляция SQl + деинсталляция SSMS + деинсталляция VS (возникли проблемы, так как инсталлятор VS хотел обновить, затем не удалось деинсталлировать всю VS, пришлось делать это приложение за приложением вручную), затем переустановитьв предложенном Microsoft порядке: SQL Server, SSMS, VS.Опять же - работало нормально, пока установка VS не была завершена ...
Любая помощь приветствуется.
После дальнейшего изучения: для возникновения сбоя необходимо закрепить одну из вкладок.Но в тот момент, когда я прикрепляю любую вкладку ... все прошло.Таким образом, между SSMS и VS может отсутствовать связь, но теперь она повторяется три раза: откройте вкладку, закрепите, откройте другую вкладку, нажмите сначала, затем снова на секунду и вылетите.
Через некоторое времяи дальнейшее расследование (11 октября 2018 года):
Проблема снова возникла у меня.Но на данный момент неясно, является ли это DisplayPort или Displaylink на DP (поскольку я все еще использую репликатор портов, использую решение DisplayLink), что является причиной, так как мой ноутбук этого не делаетесть DP, просто HDMI.Я также не могу воспроизвести проблему на других рабочих станциях, не ломая вещи и для других людей.
Ссылка на DisplayPort все еще существует, поэтому переключение на HDMI по-прежнему остается допустимым обходным путем (как в моем ответе ниже), но проблема определенно связана с программным обеспечением, в некотором роде связанным с Visual Studio.Или, по крайней мере, то, что показано в программе просмотра событий для этой ошибки:
Приложение: Ssms.exe Framework Версия: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения.Информация об исключении: System.ArgumentException в System.Windows.Rect.set_Height (Double) в Microsoft.VisualStudio.PlatformUI.Shell.DraggedTabInfo.NormalizeTabHeight () в Microsoft.VisualStudio.PlatformUI.Shell.DraggedTabInfo.ExpisTabStuStStuSt.PlatformUI.Shell.DraggedTabInfo.MeasureTabStrip () в Microsoft.VisualStudio.PlatformUI.Shell.Controls.DockPreviewWindow.OnPanelLayoutUpdated (System.Object) в Microsoft.VisualStudio.PlatformUI.SDock.OWWOWWW.RoutedEventArgs) в System.Windows.RoutedEventHandlerInfo.InvokeHandler (System.Object, System.Windows.RoutedEventArgs) в System.Windows.EventRoute.InvokeHandlersImpl (System.Object, System.Windows.RoutedEventArgs ,.UW. Boolean).RaiseEventImpl (System.Windows.DependencyObject, System.Windows.RoutedEventArgs) в System.Windows.UIElement.RaiseEvent (System.Windows.RoutedEventArgs)
в Microsoft.VisualStudio.PlatformUI.Shell.Controls.ReorderTabPanel.OnLayoutUpdated (System.Object, System.EventArgs) в System.Windows.ContextLayoutManager.fireLayoutUpdateEvent () в System.Windows.ContextLayoutManager.UpdateLayout () в System.Windows.MateLate.Oay.ConjectWindows.Media.MediaContext + InvokeOnRenderCallback.DoWork ()
в System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks ()
в System.Windows.Media.MediaContext.RenderMessageHandlerCore (System.Object) в System.Windows.Media.MediaContext.RenderMessageHject (.)Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) в System.Windows.Threading.ExceptionWrapper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) в System.Windows.Threading.DispatcherOperation.InvokeImpl () в System.Windows.System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) в System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallject,) в MS.Internal.CulturePreservingExecutionContext.Run (MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) в System.Windows.Threading.DispatcherOperation.Invoke () в System.Windows.Threading.DisuecherProPro.в System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) в MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef.Hack.Win).(System.Object) в System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) в System.Windows.Threading.ExceptionWrapper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate) в System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) в MS.Win32.HwndSubclass.SubclassWndProt (, IntPtr, IntPtr)
Тот же ноутбук, тот жеУстановка Windows, как и раньше, те же установки SSMS и VS.Что изменилось: другая док-станция (Thunderbolt вместо USB 3.0), два внешних монитора (та же модель, но разные образцы) подключены последовательно через DP, подключенный к одному выходу miniDisplayport в док-станции.
До тех пор, пока я не сменил порядок, в котором работала гирляндная цепочка (поэтому ранее дисплей № 2 теперь отображал номер 3, а основной дисплей ноутбука оставался основным, а номер 1) все было в порядке.
После свопа проблема вернулась.Поскольку мониторы были признаны новыми устройствами, они были настроены с разрешением 1920x1080 по сравнению с их родными 1920x1200 и дублированием вместо расширенных.Когда все вернулось так, как я хотел, ошибка снова началась.