none
problema memoria corrotta RRS feed

  • Domanda

  • Buon giorno a tutti,

    sul mio pc di sviluppo (Win 10 pro 64 bit, con aggiornamenti automatici attivati) ho 2 istanze di SqlServer, una 2014 Express e una 2016 Express.

    Da ieri su quella 2016 ogni volta che da Sql Server Management Studio cerco di editare una tabella (click dx sulla tabella, edit top 200 rows) ricevo il seguente errore:

    Attempted to read or write protected memory. This is often an indication that other memory is corrupt. (Microsoft.VisualStudio.OLE.Interop)

    poi SSMS si chiude e si riavvia da solo. Se eseguo la stessa operazione con l'istanza 2014 nessun problema.

    Qualcuno sa come risolvere? 

    Grazie 1000.

    Beppe

    PS: incollo qui sotto i dettagli dell'errore

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

    Exception has been thrown by the target of an invocation. (mscorlib)

    ------------------------------

    Program Location:

       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)

       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)

       at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)

       at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.OpenTableHelperClass.InvokeOpenTableUsingDesigner(Object parentInformation, String fileName)

       at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.OpenTableHelperClass.EditTopNRows(NodeContext parentContext, Int32 topNValue)

       at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.EditTopNRows.Invoke()

       at Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ToolsMenuItemBase.MenuInvokedHandler(Object sender, EventArgs args)

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

    Attempted to read or write protected memory. This is often an indication that other memory is corrupt. (Microsoft.VisualStudio.OLE.Interop)

    ------------------------------

    Program Location:

       at Microsoft.VisualStudio.OLE.Interop.IOleCommandTarget.QueryStatus(Guid& pguidCmdGroup, UInt32 cCmds, OLECMD[] prgCmds, IntPtr pCmdText)

       at Microsoft.VisualStudio.Platform.WindowManagement.DocumentObjectSite.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.Internal.VisualStudio.Shell.Interop.IVsTrackSelectionExPrivate.Register()

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.ConnectSelectionContext()

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.Activate()

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowManagerService.viewManager_ActiveViewChanged(Object sender, ActiveViewChangedEventArgs 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)

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.<Show>b__26()

       at Microsoft.VisualStudio.ErrorHandler.CallWithCOMConvention(Func`1 method)

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.Show()

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.<Microsoft.VisualStudio.Shell.Interop.IVsWindowFrame.Show>b__7a()

       at Microsoft.VisualStudio.Shell.ThreadHelper.Invoke[TResult](Func`1 method)

       at Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.MarshalingWindowFrame.Microsoft.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.InvokeDesigner(IManagedConnection connection)

       at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.Invoke()

       at Microsoft.SqlServer.Management.UI.VSIntegration.Editors.VsDocumentMenuItem.InvokeOpenTable(Object parentInformation, String fileName)


    sabato 16 giugno 2018 07:55

Risposte

  • Non è che stai tentando di lavorare sull'istanza 2016 da SSMS 2014? In tal caso l'errore è normale.
    In alternativa prova a chiudere SSMS, svuotare i file temporanei del profilo utente (%temp%) e a riprovare.
    • Contrassegnato come risposta Beppe1964 domenica 17 giugno 2018 08:21
    sabato 16 giugno 2018 15:39
    Moderatore

Tutte le risposte

  • Non è che stai tentando di lavorare sull'istanza 2016 da SSMS 2014? In tal caso l'errore è normale.
    In alternativa prova a chiudere SSMS, svuotare i file temporanei del profilo utente (%temp%) e a riprovare.
    • Contrassegnato come risposta Beppe1964 domenica 17 giugno 2018 08:21
    sabato 16 giugno 2018 15:39
    Moderatore
  • Ciao Fabrizio,
    grazie per la risposta.
    Si, uso SSMS 2014, ma sono (ero) convinto di aver già fatto quella operazione più volte con successo... ovviamente è probabile che mi sbagli.
    Dovendo mantenere le 2 istanze (2014 e 2016) cosa mi consigli di fare? Devo avere installate 2 versioni di SSMS (2014 e 2016) o basta la più recente?
    Grazie ancora e buona serata.
    Beppe 
    sabato 16 giugno 2018 20:03
  • Tutte le versioni più recenti di SSMS in genere sono retrocompatibili con le vecchie versioni di SQL, ma non è vero il contrario. Quindi se utilizzi solo SSMS 2016 (o anche una versione più recente) dovresti riuscire ad eseguire operazioni su entrambe le istanze.
    sabato 16 giugno 2018 20:13
    Moderatore
  • Perfetto!

    Grazie ancora per l'aiuto.

    Buona domenica.

    Ciao

    Beppe

    domenica 17 giugno 2018 08:20