Se produce un error en la instantánea de la publicación de mezcla con el error "Error de secuencia de comandos" en SQL Server

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 3179862
Síntomas
En SQL Server 2014 o 2012, se crea una publicación de mezcla que contiene una tabla que tiene un tipo de datos de geometría o geografía. Para copiar el índice espacial, que configurócopia los índices espaciales opción del artículo en Truepara que la combinación replicará los índices espaciales. Sin embargo, cuando se ejecuta la instantánea, se produce un error. Si iniciar el Monitor de duplicación y profundizar en el publicador y la publicación, busque al agente de instantáneas y ver los detalles de la ejecución de la instantánea, verá el siguiente mensaje de error:


Fuente: Microsoft.SqlServer.Smo
Sitio de destino: System.Collections.Generic.IEnumerable'1[System.String] ScriptWithList (Microsoft.SqlServer.Management.Smo.DependencyCollection, Microsoft.SqlServer.Management.Smo.SqlSmoObject [], Boolean)

Mensaje: Error de secuencia de comandos de servidor 'CMSQL'.

Pila: En Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, objetos de SqlSmoObject [], Boolean discoveryRequired)

en Microsoft.SqlServer.Management.Smo.Scripter.EnumScriptWithList (SqlSmoObject [] objetos)

en Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.ScriptIndexList (mucha experiencia mucha experiencia, SqlSmoObject [] smoObjectList)

en Microsoft.SqlServer.Replication.Snapshot.MergeSmoScriptingManager.GenerateTableArticleDriScriptWithSingleBatchConstraints (mucha experiencia mucha experiencia, BaseArticleWrapper articleWrapper, smoTable de la tabla)

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

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

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

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

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

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

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

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

en Microsoft.SqlServer.Replication.AgentCore.Run() (fuente: Microsoft.SqlServer.Smo, número de Error: 0)

Obtener ayuda: http://help/0

Fuente: Microsoft.SqlServer.Smo

Sitio de destino: Void CheckTargetVersion (Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, System.String)

Mensaje: Error con índice espacial [IX_GeographicEntity_Outline]. GEOMETRY_AUTO_GRID y GEOGRAPHY_AUTO_GRID no se admiten en SQL Server 2008.

Pila: En Microsoft.SqlServer.Management.Smo.SqlSmoObject.CheckTargetVersion (SqlServerVersionInternal targetVersion, SqlServerVersionInternal upperLimit, exceptionText de cadena)

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

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

en Microsoft.SqlServer.Management.Smo.Index.ScriptDdl (consultas StringCollection, ScriptingPreferences sp, notEmbedded Boolean, Boolean precompilada)

en Microsoft.SqlServer.Management.Smo.Index.ScriptCreate (consultas StringCollection, ScriptingPreferences sp)

en Microsoft.SqlServer.Management.Smo.SqlSmoObject.ScriptCreateInternal (consulta StringCollection, sp ScriptingPreferences, Boolean skipPropagateScript)

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

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

en Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObjects (IEnumerable'1 URN)

en Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript (IEnumerable'1 URN)

en Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker (URN ' 1 de la lista, escritor de ISmoScriptWriter)

en Microsoft.SqlServer.Management.Smo.ScriptMaker.Script (DependencyCollection depList, SqlSmoObject [] objetos, escritor de ISmoScriptWriter)

en Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithListWorker (DependencyCollection depList, objetos de SqlSmoObject [], Boolean discoveryRequired)

en Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, objetos de SqlSmoObject [], Boolean discoveryRequired) (fuente: Microsoft.SqlServer.Smo, número de Error: 0)

Obtener ayuda: http://help/0

Causa
SQL Server no admite índices espaciales que se definen con las palabras clave GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID.

Cuando crea una publicación de SQL Server 2012 o 2014 de SQL Server, nivel de compatibilidad de la publicación (@publication_compatibility_level) permite la configuración de 90RTM y 100RTM. Por lo tanto, se fuerza la compatibilidad con SQL Server 2008 cuando crea una publicación de mezcla. Pero debido a la compatibilidad con SQL Server 2008, no se puede copiar índices espaciales.
Solución
Para continuar utilizando este tipo de datos en una publicación de mezcla, utilice una de las siguientes soluciones:
  • Definir el índice espacial mediante las palabras clave GEOMETRY_GRID o GEOGRPAHY_GRID en lugar de GEOMETRY_AUTO_GRID o GEOGRAPHY_AUTO_GRID.
  • Al definir la publicación, configure el artículo en el que se define con un índice espacial, establecer la opción de Copia los índices espaciales en False. A continuación, una vez que se han creado las suscripciones e inicializa la suscripción, crear manualmente el índice espacial en la tabla del suscriptor.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 3179862 - Última revisión: 08/10/2016 22:45:00 - Revisión: 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 KbMtes
Comentarios