Snapshot di pubblicazione di unione ha esito negativo con errore "Errore di Script" in SQL Server

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 3179862
Sintomi
In SQL Server 2014 o 2012, si crea una pubblicazione di stampa unione che contiene una tabella con un tipo di dati geometrici o geografici. Per copiare l'indice spaziale, impostate opzioneindici spaziali copia dell'articolo su Truein modo che l'unione replicherà indici spaziali. Tuttavia, quando viene eseguito lo snapshot, non riesce. Se si avvia Monitoraggio replica e il drill-down nel server di pubblicazione e la pubblicazione, individuare l'agente Snapshot e visualizzare i dettagli dell'esecuzione dello snapshot, è visualizzato il seguente messaggio di errore:


Origine: Microsoft.SqlServer.Smo
Sito di destinazione: System.Collections.Generic.IEnumerable'1[System.String] ScriptWithList (Microsoft.SqlServer.Management.Smo.DependencyCollection, Microsoft.SqlServer.Management.Smo.SqlSmoObject di [], Boolean)

Messaggio: Script non riuscita per il Server 'CMSQL'.

Stack: In Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, oggetti di SqlSmoObject [], Boolean discoveryRequired)

in Microsoft.SqlServer.Management.Smo.Scripter.EnumScriptWithList (oggetti di SqlSmoObject [])

in Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.ScriptIndexList (script script, smoObjectList di SqlSmoObject [])

in Microsoft.SqlServer.Replication.Snapshot.MergeSmoScriptingManager.GenerateTableArticleDriScriptWithSingleBatchConstraints (script script, BaseArticleWrapper articleWrapper, smoTable tabella)

in Microsoft.SqlServer.Replication.Snapshot.MergeSmoScriptingManager.GenerateTableArticleScripts (ArticleScriptingBundle articleScriptingBundle)

in Microsoft.SqlServer.Replication.Snapshot.MergeSmoScriptingManager.GenerateArticleScripts (ArticleScriptingBundle articleScriptingBundle)

in Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.GenerateObjectScripts (ArticleScriptingBundle articleScriptingBundle)

in Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.DoScripting()

in Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.DoScripting()

in Microsoft.SqlServer.Replication.Snapshot.MergeSnapshotProvider.DoScripting()

in Microsoft.SqlServer.Replication.Snapshot.SqlServerSnapshotProvider.GenerateSnapshot()

in Microsoft.SqlServer.Replication.SnapshotGenerationAgent.InternalRun()

in Microsoft.SqlServer.Replication.AgentCore.Run() (origine: Microsoft.SqlServer.Smo, numero di errore: 0)

Guida: http://help/0

Origine: Microsoft.SqlServer.Smo

Sito di destinazione: CheckTargetVersion Void (Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, System. String)

Messaggio: Errore di indice spaziale [IX_GeographicEntity_Outline]. GEOMETRY_AUTO_GRID e GEOGRAPHY_AUTO_GRID non sono supportati in SQL Server 2008.

Stack: In Microsoft.SqlServer.Management.Smo.SqlSmoObject.CheckTargetVersion (SqlServerVersionInternal targetVersion, SqlServerVersionInternal upperLimit, String exceptionText)

in Microsoft.SqlServer.Management.Smo.Index.SpatialIndexScripter.ScriptIndexDetails (StringBuilder sb)

in Microsoft.SqlServer.Management.Smo.Index.IndexScripter.GetCreateScript()

in Microsoft.SqlServer.Management.Smo.Index.ScriptDdl (query StringCollection, ScriptingPreferences sp, notEmbedded Boolean, Boolean createStatement)

in Microsoft.SqlServer.Management.Smo.Index.ScriptCreate (query StringCollection, sp ScriptingPreferences)

in Microsoft.SqlServer.Management.Smo.SqlSmoObject.ScriptCreateInternal (ScriptingPreferences sp query StringCollection, Boolean skipPropagateScript)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObject (Urn urn, ScriptingPreferences sp, ObjectScriptingType & scriptType)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreate (Urn urn, ScriptingPreferences sp, ObjectScriptingType & scriptType)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObjects (urn IEnumerable'1)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript (urn IEnumerable'1)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker (urn List'1, ISmoScriptWriter writer)

in Microsoft.SqlServer.Management.Smo.ScriptMaker.Script (oggetti [] SqlSmoObject DependencyCollection depList, ISmoScriptWriter writer)

in Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithListWorker (DependencyCollection depList, oggetti di SqlSmoObject [], Boolean discoveryRequired)

in Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, oggetti di SqlSmoObject [], Boolean discoveryRequired) (origine: Microsoft.SqlServer.Smo, numero di errore: 0)

Guida: http://help/0

Cause
SQL Server non supporta indici spaziali definiti con la parola chiave GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID.

Quando si crea una pubblicazione in SQL Server 2012 o SQL Server 2014, il livello di compatibilità della pubblicazione impostando (@publication_compatibility_level) consente impostazioni di 90RTM e 100RTM. Di conseguenza, la compatibilità con SQL Server 2008 viene forzata quando si crea una pubblicazione di tipo merge. Ma per la compatibilità con SQL Server 2008, non è possibile copiare gli indici spaziali.
Workaround
Per continuare a utilizzare questo tipo di dati in una pubblicazione di stampa unione, utilizzare uno dei metodi descritti di seguito:
  • Definire l'indice spaziale utilizzando le parole chiave GEOMETRY_GRID o GEOGRPAHY_GRID anziché GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID.
  • Quando si definisce la pubblicazione, è possibile configurare l'articolo definito con un indice spaziale, impostando l'opzione di Copia di indici spaziali su False. Quindi, dopo le sottoscrizioni sono state create e inizializzazione della sottoscrizione, creare manualmente l'indice spaziale nella tabella del server di sottoscrizione.

Avviso: questo articolo è stato tradotto automaticamente

Properti

ID Artikel: 3179862 - Tinjauan Terakhir: 08/11/2016 18:28:00 - Revisi: 1.0

Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Enterprise Core, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Standard

  • kbmt KB3179862 KbMtit
Tanggapan