Falha de instantâneo de publicação de impressão em série com o erro "Falha de Script" no SQL Server

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 3179862
Sintomas
SQL Server 2014 ou 2012, pode criar uma publicação de impressão em série que contém uma tabela que tem um tipo de dados geometria ou "Geografia". Para copiar o índice espacial, definiuíndices espaciais cópia opção o artigo como Truepara que a impressão em série irá replicar índices espaciais. No entanto, quando é executado o instantâneo, falhar. Se iniciar o Monitor de replicação e aprofundar o fabricante e a publicação, localize o Snapshot agent e ver os detalhes da execução de instantâneo, verá a seguinte mensagem de erro:


Origem: Microsoft.SqlServer.Smo
Site de destino: System.Collections.Generic.IEnumerable'1[System.String] ScriptWithList (Microsoft.SqlServer.Management.Smo.DependencyCollection, Microsoft.SqlServer.Management.Smo.SqlSmoObject [], valor boleano)

Mensagem: O Script falhou para o servidor 'CMSQL'.

Pilha: A Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, objectos de [] SqlSmoObject, Boolean discoveryRequired)

em Microsoft.SqlServer.Management.Smo.Scripter.EnumScriptWithList (SqlSmoObject [] objectos)

em Microsoft.SqlServer.Replication.Snapshot.SmoScriptingManager.ScriptIndexList (criador de scripts do criador de scripts, SqlSmoObject [] smoObjectList)

em Microsoft.SqlServer.Replication.Snapshot.MergeSmoScriptingManager.GenerateTableArticleDriScriptWithSingleBatchConstraints (criador de scripts do criador de scripts, BaseArticleWrapper articleWrapper, smoTable da tabela)

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

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

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

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

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

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

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

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

em Microsoft.SqlServer.Replication.AgentCore.Run() (origem: Microsoft.SqlServer.Smo, número de erro: 0)

Obter ajuda: http://help/0

Origem: Microsoft.SqlServer.Smo

Site de destino: CheckTargetVersion nulo (Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, Microsoft.SqlServer.Management.Smo.SqlServerVersionInternal, String)

Mensagem: Erro com o índice espacial [IX_GeographicEntity_Outline]. GEOMETRY_AUTO_GRID e GEOGRAPHY_AUTO_GRID não são suportados no SQL Server 2008.

Pilha: A Microsoft.SqlServer.Management.Smo.SqlSmoObject.CheckTargetVersion (SqlServerVersionInternal targetVersion, SqlServerVersionInternal upperLimit, exceptionText de cadeia)

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

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

em Microsoft.SqlServer.Management.Smo.Index.ScriptDdl (StringCollection consultas, sp de ScriptingPreferences, Boolean notEmbedded, Boolean createStatement)

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

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

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

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

em Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptCreateObjects (urnas IEnumerable'1)

em Microsoft.SqlServer.Management.Smo.ScriptMaker.DiscoverOrderScript (urnas IEnumerable'1)

em Microsoft.SqlServer.Management.Smo.ScriptMaker.ScriptWorker (urnas lista ' 1, o escritor ISmoScriptWriter)

em Microsoft.SqlServer.Management.Smo.ScriptMaker.Script (DependencyCollection depList, SqlSmoObject [] objectos, o escritor ISmoScriptWriter)

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

em Microsoft.SqlServer.Management.Smo.Scripter.ScriptWithList (DependencyCollection depList, objectos de [] SqlSmoObject, Boolean discoveryRequired) (origem: Microsoft.SqlServer.Smo, número de erro: 0)

Obter ajuda: http://help/0

Causa
SQL Server não suporta índices espaciais que estão definidos com as palavras-chave GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID.

Quando cria uma publicação de 2012 do SQL Server ou SQL Server 2014, nível de compatibilidade com versões anteriores da publicação (@publication_compatibility_level) a definição permite que as definições do 90RTM e 100RTM. Por conseguinte, é forçada compatibilidade com o SQL Server 2008 quando cria uma publicação de intercalação. Mas devido a efeitos de compatibilidade com o SQL Server 2008, não não possível copiar índices espaciais.
Como contornar
Para continuar a utilizar este tipo de dados de uma publicação de impressão em série, utilize uma das seguintes soluções:
  • Defina o índice espacial, utilizando as palavras-chave GEOMETRY_GRID ou GEOGRPAHY_GRID em vez de GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID.
  • Quando define a publicação, configure o artigo definido com um índice espacial, definindo a opção de Cópia espacial índices como False. Em seguida, depois das subscrições tem sido criadas e inicializada a subscrição, crie manualmente o índice espacial na tabela do subscritor.

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 3179862 - Última Revisão: 08/11/2016 18:31:00 - Revisão: 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 KbMtpt
Comentários