Sql-Server

無法在 SSMS 中打開視圖的設計

  • July 16, 2018

當我嘗試打開視圖的設計時,我收到此錯誤消息(您可以在下面看到)。表不會發生這種情況,只有視圖才會發生,只有當我嘗試查看設計時,我才能從中檢索數據,例如使用選擇查詢。因為我們將數據庫移動到另一個虛擬伺服器,所以我收到了這個錯誤。我在具有不同 Windows(7 和 10)和 SSMS(2008、2010、2012、2014)版本的不同電腦上進行了嘗試。

在此處輸入圖像描述

標題:Microsoft SQL Server 管理工作室
------------------------------

嘗試讀取或寫入受保護的記憶體。這通常表明其他記憶體已損壞。(Microsoft.VisualStudio.OLE.Interop)

------------------------------
鈕扣:

好的

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

當我點擊詳細資訊時,我會看到以下資訊:

嘗試讀取或寫入受保護的記憶體。這通常表明其他記憶體已損壞。(Microsoft.VisualStudio.OLE.Interop)

------------------------------
節目地點:

在 Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.QueryStatus(Guid & pguidCmdGroup,UInt32 cCmds,OLECMD [] prgCmds,IntPtr pCmdText)
在 Microsoft.VisualStudio.Platform.WindowManagement.DocumentObjectSite.QueryStatus(Guid & pguidCmdGroup,UInt32 cCmds,OLECMD [] prgCmds,IntPtr pCmdText)
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.QueryStatus(Guid & pguidCmdGroup,UInt32 cCmds,OLECMD [] prgCmds,IntPtr pCmdText)
在 Microsoft.Internal.VisualStudio.Shell.Interop.IVsTrackSelectionExPrivate.Register()
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConnectSelectionContext()
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.Activate()
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.viewManager_ActiveViewChanged(對象發送者,ActiveViewChangedEventArgs e)
在 System.EventHandler`1.Invoke(對象發送者,TEventArgs e)
在 Microsoft.VisualStudio.PlatformUI.ExtensionMethods.RaiseEvent[TEventArgs](EventHandler`1 eventHandler,對像源,TEventArgs args)
在 Microsoft.VisualStudio.PlatformUI.Shell.ViewManager.SetActiveView(視圖視圖,ActivationType 類型)
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ShowInternal (ShowFlags showFlags)
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.b__26()
在 Microsoft.VisualStudio.ErrorHandler.CallWithCOMConvention(Func`1 方法)
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.Show()
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.b__7a()
在 Microsoft.VisualStudio.Shell.ThreadHelper.Invoke[TResult](Func`1 方法)
在 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame.Show()
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,字元串文件名)
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,字元串文件名)
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn,DocumentType editorType,DocumentOptions aeOptions,IManagedConnection con,字元串文件名)
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.CreateDesignerWindow(IManagedConnection mc,DocumentOptions 選項)
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.InvokeDesigner(IManagedConnection 連接)
在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.Invoke()
在 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ToolsMenuItemBase.MenuInvokedHandler(對象發送者,EventArgs 參數)

我們在 Windows 10 上安裝了 SSMS 2012 和 2014,一些較舊的電腦在 Windows 7 上安裝了 SSMS 2010 和 2012。所有電腦都安裝了 Visual Studio 2015。不幸的是,由於公司政策,我無法使用比 SSMS 2014 更新的版本。

我們使用 SQL Server 2016。(版本 13.0.4001.0;NT x64)

exec sp_helptext 'theView'效果很好。

因為您使用的是比 SSMS 更新的 SQL Server 版本,所以我建議您安裝與 SQL Server 相同或更高版本的 SSMS。不能保證舊版本的 SSMS 可以在較新的 SQL Server 上執行,但相反的情況應該可以。SSMS 應該向後兼容,但不保證將來兼容。

我知道這個答案不是您想听到的,而是像我如何提出一個好問題?

保持開放的心態

您的問題的答案可能並不總是您想要的答案,但這並不意味著它是錯誤的。一個決定性的答案並不總是可能的。如有疑問,請人們引用他們的來源,或解釋他們是如何/在哪裡學到的東西。即使我們不同意您的觀點,或者確切地告訴您您想听到的內容,請記住:我們只是想提供幫助。

引用自:https://dba.stackexchange.com/questions/183154