web-dev-qa-db-ja.com

SSMSでビューのデザインを開けません

ビューのデザインを開こうとすると、以下のエラーメッセージが表示されます。テーブルでは発生せず、ビューのみで、デザインを表示しようとしたときにのみ発生するため、たとえば選択クエリを使用して、そこからデータを取得できます。データベースを別の仮想サーバーに移動したため、このエラーが発生しました。 Windows(7および10)とSSMS(2008、2010、2012、2014)のバージョンが異なるコンピューターで試してみました。

enter image description here

タイトル:Microsoft SQL Server Management Studio 
 ------------------------------ 
 
保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。 (Microsoft.VisualStudio.OLE.Interop)
 
 ------------------------------ 
ボタン:
 
 OK 
 
 ======================= ============ 

詳細をクリックすると、次の情報が表示されます。

保護されたメモリを読み書きしようとしました。これは多くの場合、他のメモリが破損していることを示しています。 (Microsoft.VisualStudio.OLE.Interop)
 
 ------------------------------ 
プログラムの場所:
 
 at Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.QueryStatus(Guid&pguidCmdGroup、UInt32 cCmds、OLECMD [] prgCmds、IntPtr pCmdText)
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.QueryStatus(Guid&pguidCmdGroup、UInt32 cCmds、OLECMD [] prgCmds、IntPtr pCmdText)
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.QueryStatus(Guid&pguidCmdGroup、UIntc cmdGroups、UInt32 cCmdGroup OLECMD [] prgCmds、IntPtr pCmdText)
 at Microsoft.Internal.VisualStudio.Shell.Interop.IVsTrackSelectionExPrivate.Register()
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConnectSelectionContext()
 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.Activate()
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.viewManager_ActiveViewChanged(Object sender、ActiveV iewChangedEventArgs e)
 at System.EventHandler`1.Invoke(Object sender、TEventArgs e)
 at Microsoft.VisualStudio.PlatformUI.ExtensionMethods.RaiseEvent [TEventArgs](EventHandler`1 eventHandler、Object source、 TEventArgs args)
 at Microsoft.VisualStudio.PlatformUI.Shell.ViewManager.SetActiveView(View view、ActivationType type)
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ShowInternal(ShowFlags showFlags)
 Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.b__26()
 at Microsoft.VisualStudio.ErrorHandler.CallWithCOMConvention(Func`1 method)
 at Microsoft.VisualStudio.Platform.WindowManagement。 WindowFrame.Show()
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.b__7a()
 at Microsoft.VisualStudio.Shell.ThreadHelper.Invoke [TResult](Func`1 method) 
 at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.Micr osoft.VisualStudio.Shell.Interop.IVsWindowFrame.Show()
 at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.CreateDesigner(Urn origUrn、DocumentType editorType、DocumentOptions aeOptions、IManagedConnection con、String fileName) 
 at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VirtualProject.Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn、DocumentType editorType、DocumentOptions aeOptions、IManagedConnection con、String fileName )
 at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ISqlVirtualProject.CreateDesigner(Urn origUrn、DocumentType editorType、DocumentOptions aeOptions、IManagedConnection con、String fileName)
 at Microsoft.SqlServer.Management。 UI.VSIntegration.Editors.VsDocumentMenuItem.CreateDesignerWindow(IManagedConnection mc、DocumentOptions options)
 at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.Invoke Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.Invoke()のDesigner(IManagedConnection接続)
 
 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ToolsMenuItemBase.MenuInvokedHandler(オブジェクト送信者、EventArgs args)

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'はうまく機能します。

7
Adam

SSMSよりも新しいバージョンのSQL Serverを使用しているため、SQL Serverと同じかそれ以降のバージョンのSSMSをインストールすることをお勧めします。古いバージョンのSSMSが新しいSQL Serverで動作するという保証はありませんが、逆の動作は可能です。 SSMSには下位互換性がありますが、将来の互換性を保証するものではありません。

私はこの答えがあなたが聞きたいものではないことを知っています (どうすれば良い質問をするのですか?

心を開く

質問への回答が常に希望するものであるとは限りませんが、それが間違っているという意味ではありません。確実な答えが常に得られるとは限りません。疑問がある場合は、出典を引用するか、どのように/どこで何かを学んだかを説明するように依頼してください。私たちがあなたに同意しなかったり、あなたが聞きたかったことを正確に伝えたりしなくても、覚えておいてください:私たちはただ助けようとしているだけです。

8
Daniel Björk

答えではありませんが、メモの詳細:ビューをスクリプトとして表示できます。

  1. ビューを右クリック
  2. 「名前を付けてスクリプトを表示」をクリックします
  3. 「作成先」または「変更先」をクリックします
  4. [新しいクエリウィンドウ]をクリックします
1
Ray Lionfang

SQL Server Management Studio(SSMS)2014はSQL Server 2016と100%互換性がありません。SSMSを2016以降にアップグレードしてみてください。

1