AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / 问题

Perguntas[transactional-replication](dba)

Martin Hope
forumresearcher007
Asked: 2022-07-14 02:24:13 +0800 CST

Carga de replicação transacional no editor

  • 2

Gostaria de habilitar a replicação no meu SQL Server , conforme o Document , a carga no Servidor como Distribuidor Remoto é menor (ou seja, 8-10% para inserção/atualização no editor) quando comparada com a carga no SQL Server como Distribuidor Local (ou seja, editora e distribuidora) (16-25% para inserção/atualização).[Page no : 11]

Além disso, o Documento (relacionado ao MSSQL Server 2000) menciona que o custo sob condições de estresse pode ser tão baixo quanto 8-10% ao usar um Distribuidor remoto e um pouco maior ao usar um Distribuidor local, isso também vale para o MSSQL 2017? Por que pergunto isso é que estou planejando tornar meu servidor SQL como Distribuidor Local devido às minhas limitações atuais. Devo prosseguir com o meu plano ou existem desvantagens graves?

sql-server transactional-replication
  • 1 respostas
  • 41 Views
Martin Hope
Kirk Saunders
Asked: 2022-03-22 13:39:17 +0800 CST

Arquitetura de replicação transacional - um artigo - vários assinantes

  • 1

P: É mais barato/mais eficiente para um Distributorservidor usar 1 publicationpara 2 subscribersou usar 2 publicationscom o mesmo articlesindo para um único subscribercada?

Detalhes:

Temos tido um problema recentemente com nossos Transactional Replicationprocessos Distributorpara Subscriberinterromper e não recuperar normalmente. É quase como se algumas transações fossem ignoradas ou aplicadas fora de ordem. Historicamente, acabamos de resolver isso com reinitializingo publicatione seguindo em frente.

Reduzimos isso a um problema de utilização de recursos no Distributorservidor. Na maioria das vezes, podemos resolver reiniciando o servidor, Azuremas os maiores publicationsnem sempre recuperam por conta própria.

Todas as nossas articlesnecessidades devem ser entregues a dois servidores diferentes (um para funções de relatórios pertencentes ao departamento de TI e outro para funções de relatórios pertencentes a uma equipe de analistas de dados). Vamos dividir os vários artigos em grupos, cada grupo recebendo 2 publicationse enviá-los para o nosso Distributorservidor separado que aceita ambos Publications. Um publicationvai para o servidor de TI, o outro vai para o servidor Data Analyst. Algo como abaixo:Arquitetura de replicação atual

O problema de utilização de recursos em parte se deve a consultas caras no servidor Data Analyst blockinga aplicação dos replicationcomandos. Estamos trabalhando com essa equipe para melhorar as consultas, mas também quero ver se podemos fazer um ajuste de arquitetura para ajudar.

Estou olhando para ver se há alguma razão pela qual seria menos caro Distributorenviar 1 publicationpara 2 subscribersem vez de usar 2 publicationsindo para um único subscribercada. Algo como abaixo:Arquitetura de replicação potencial

Alguém tem alguma experiência com este tipo potencial de implementação?

sql-server transactional-replication
  • 1 respostas
  • 46 Views
Martin Hope
YHTAN
Asked: 2021-06-01 01:55:51 +0800 CST

Replicação de transações MSSQL - Como ressincronizar os dados?

  • 0

Eu tenho 1 replicação de transação (topologia ponto a ponto). Depois de configurar, descobri que os dados na tabela 2 eram diferentes.

A primeira tabela de pares [VPMYN204].[AdventureWorks2019].[Person].[AddressType] tem 6 linhas. E a segunda tabela [AdventureWorks2019].[Person].[AddressType] tem 7 linhas.

insira a descrição da imagem aqui

  1. O que devo fazer? (P/S: sou novo no recurso de replicação de transações.)
sql-server transactional-replication
  • 1 respostas
  • 378 Views
Martin Hope
Murali Dhar Darshan
Asked: 2020-10-26 06:31:58 +0800 CST

Alterando o agrupamento do Banco de Dados SQL no ambiente de Produção para minimizar o tempo de inatividade

  • 8

Temos um cenário em que queremos alterar o agrupamento de nosso banco de dados de produção (incluindo colunas) de SQL_Scandinavian_Pref_CP850_CI_AS para Finnish_Swedish_CI_AS. Desenvolvemos scripts para isso. Mas executar esse script em um banco de dados grande com mais de 100 GB levará um tempo considerável e não podemos nos dar ao luxo de ficar muito tempo inativo. Então decidimos reduzir esse tempo de inatividade usando a estratégia abaixo:

  1. Vamos configurar a Replicação Transacional e inicializar o assinante usando o método de backup do banco de dados.
  2. O banco de dados do editor estará ativo com o aplicativo e suas transações serão entregues ao banco de dados do assinante por meio da Replicação Transacional.
  3. Executaremos o Collation Change Script no lado do assinante e ele nos permite executar esse script quando o SQL Server for o mesmo para bancos de dados do editor e do assinante. Recentemente, encontramos isso no SQL Server 2019.
  4. Agora, o problema é que não está replicando corretamente os dados da coluna varchar, char quando ela contém caracteres especiais como 'åÅäÄöÖ'. Do lado do assinante, estamos recebendo personagens estranhos como '†„Ž”™'

Você pode sugerir como podemos resolver esse bug ou qualquer arquitetura alternativa para minimizar o tempo de inatividade na produção ao alterar o agrupamento do banco de dados (incluindo colunas)?

Além disso, meu script de alteração de agrupamento está realizando as seguintes tarefas no banco de dados do assinante para alterar seu agrupamento:

  1. Descartar restrições de chave estrangeira
  2. Índices de descarte, incluindo chave primária
  3. Verificação de descarte e restrições padrão
  4. Eliminar estatísticas do usuário
  5. Solte visualizações, colunas computadas, SPs para resolver bugs vinculados a objetos
  6. Após a execução das etapas acima, as Tabelas estão prontas para alteração de agrupamento. Portanto, o script alterará os agrupamentos das colunas de cada tabela, um por um.
  7. Recrie as restrições listadas acima após a execução bem-sucedida da etapa 6.
sql-server transactional-replication
  • 1 respostas
  • 754 Views
Martin Hope
felix
Asked: 2020-10-15 08:01:02 +0800 CST

Replicação apenas de atualizações e inserções

  • 0

Tenho dois servidores sql, no primeiro quero manter os dados dos últimos três meses e no segundo quero manter todos os dados com a finalidade de obter relatórios históricos. Eu sei fazer uma réplica transacional mas não sei replicar apenas as inserções e atualizações, não quero replicar as exclusões.

É possível fazer isso com replicação entre servidores ou você mesmo tem que programar através de triggers?

sql-server-2016 transactional-replication
  • 1 respostas
  • 174 Views
Martin Hope
Dzyann
Asked: 2020-06-23 13:15:21 +0800 CST

Como migrar replicação transacional completa para outros servidores sem instantâneo?

  • 0

Temos grandes bancos de dados que estão sendo mantidos em sincronia usando a Replicação Transacional. Eles estão todos rodando em VMs e vamos mudar para um novo provedor e reorganizar a estrutura de rede e distribuição de aplicativos.

É possível migrar a Replicação Transacional: Publicador, Assinante, Banco de Dados de Distribuição sem precisar fazer um novo Snapshot? Atualmente temos no Servidor_1 o Publicador e no Servidor_2 o Assinante e o Banco de Dados de Distribuição. Vamos mover o Publicador para o Servidor_3 e o Banco de Dados de Assinante e Distribuição para o Servidor_4

Eu não tenho muita experiência com SQL Replication, então tenho lido muito. Encontrei esta resposta aqui . Lendo-o, entendo que, se eu seguir estas etapas, será possível mover a Replicação para os novos 2 servidores:

  1. Durante o tempo de inatividade, esperamos até que todos os objetos estejam sincronizados
  2. Em seguida, faça o script da Replicação (isso inclui Publicador, Assinante e Banco de Dados de Distribuição?),
  3. Migre os bancos de dados do Publicador e do Assinante para seus novos locais
  4. Crie uma nova replicação transacional do zero (usando os scripts gerados a partir da replicação existente) apenas com suporte para replicação
  5. Execute trabalhos de instantâneo para garantir a criação de quaisquer objetos do sistema ausentes.

No entanto, não sei se tenho todos os dados/passos/compreensão necessários e se estou faltando algo importante.

Além disso, seria possível não esperar que todos os objetos estivessem sincronizados? Eu gostaria de testar o processo, mas não sei se poderei desligar os bancos de dados por tanto tempo apenas para testar. Então, poderíamos migrar os dois bancos de dados sem sincronizá-los perfeitamente e regenerar a replicação sem criar um instantâneo? Talvez sem a opção "somente suporte à replicação" e executando os trabalhos de instantâneo. Se executarmos os trabalhos de instantâneo nessa situação, eles criarão um instantâneo inteiro, pois os bancos de dados não estarão em sincronização ou apenas procurarão as diferenças?

Desculpe se minhas perguntas parecem óbvias, não trabalhei com esta tecnologia antes e quero ter certeza de fazer tudo certo.

sql-server transactional-replication
  • 1 respostas
  • 519 Views
Martin Hope
Ollie
Asked: 2020-04-09 06:53:03 +0800 CST

A inicialização da assinatura gera o erro "A opção "INLINE=ON" não é válida para esta função" que está incorreta

  • 5

Cenário Estamos atualizando nosso patrimônio SQL para o SQL Server 2019 e configuramos qual será o ambiente de produção.

De: SQL2008R2 Standard/Windows Server 2008R2 - Servidor Principal/Servidor Secundário (Cluster de Failover do Windows) e Servidor de Relatórios (Replicação Transacional).

Para: SQL2019 Standard/Windows Server 2019 - Servidor principal/servidor secundário (sempre ativo) e servidor de relatórios (replicação transacional)

Os backups de 2008R2 foram restaurados em 2019 e o nível de compatibilidade foi definido como o mais recente. A configuração Always-On foi relativamente suave e os testes iniciais em relação ao aplicativo atual não mostraram problemas de compatibilidade.

O problema é puramente com a configuração da Replicação Transacional. Existem 2 bancos de dados que requerem replicação, uma publicação cada uma com a primária como editora e distribuidora.

O Problema Durante a inicialização da assinatura de cada BD no servidor de relatórios ele roda bem até chegar ao ponto de criar funções e produzir os erros abaixo.

1º banco de dados:

Mensagem: A opção "INLINE=ON" não é válida para esta função. Verifique a documentação para as construções suportadas com a opção INLINE em uma função. Texto do comando: CREATE FUNCTION [dbo].[f_clienttels - Mirror Copy ce2d3663eb494f3589bd5000dad1bf1f](@ClientID [int]) RETURNS varchar WITH INLINE = ON, EXECUTE AS CALLER AS BEGIN ......

2º banco de dados:

Mensagem: Foi especificada uma opção inválida para a instrução "CREATE/ALTER FUNCTION". Sintaxe incorreta perto da palavra-chave 'com'. Se esta instrução for uma expressão de tabela comum, uma cláusula xmlnamespaces ou uma cláusula de contexto de controle de alterações, a instrução anterior deverá ser encerrada com um ponto e vírgula. Sintaxe incorreta perto de ')'. Texto do comando: CREATE FUNCTION [dbo].[GetGroupAndDescendantGroupsSelective - Mirror Copy 46f329d5eed444428f45b052f07c7ea8](@GroupId [int]) RETURNS TABLE WITH INLINE = ON AS RETURN ( WITH GroupsCTE AS ( ........

Ambos são erros diferentes, mas acredito que ambos tenham a ver com a opção "INLINE=ON", esta opção não está presente em nenhuma dessas funções, nenhuma de nossas funções usa a opção inline explicitamente, se você remover esses artigos da assinatura ele apenas dá o mesmo erro na próxima função (erro CTE se a função iniciar com um CTE e o erro INLINE=ON se não iniciar).

Portanto, parece que a replicação está inserindo "WITH INLINE = ON" nas funções antes da replicação e, em seguida, cometendo erros na adição feita.

Corrigi todas as instâncias para a atualização CU4 mais recente 15.0.4033.1, testei essas funções em ambos os servidores (que funcionam), validei todas as funções/procs no banco de dados e todas estão bem. No ambiente 2008R2 atual, tive que recriar a publicação alguns meses atrás e não obtive esses erros. Como solução alternativa, por enquanto, estou criando funções manualmente no assinante e removendo todos os artigos de função da publicação.

Qualquer ajuda com uma resolução para isso seria muito apreciada, a única referência a esse erro (do 1º DB) é mencionar que não está documentado (link abaixo) e não consegui encontrar nenhuma outra postagem no fórum mencionando-o.

16203 – A opção “INLINE=ON” não é válida para esta função. Verifique a documentação para as construções suportadas com a opção INLINE em uma função.

De: Brent Ozar - O que há de novo no sys.messages do SQL Server 2019: Mais recursos não anunciados

Não temos um contrato de suporte ativo com a Microsoft, mas estamos tentando contatá-los por meio do fornecedor que forneceu as licenças, então darei uma atualização aqui se eles nos retornarem.

Posso fornecer mais informações se necessário.

sql-server transactional-replication
  • 4 respostas
  • 2111 Views
Martin Hope
jack
Asked: 2019-12-26 18:45:17 +0800 CST

Nó do assinante inativo na replicação transacional

  • 0

1) Eu tenho 2 nós em que o nó 1 é editor e distribuidor no mesmo servidor e assinante no nó 2. Caso o editor fique inativo por algumas horas e eu precise abrir o assinante para leitura e gravação desabilitando a replicação, a transação e comandos no banco de dados de distribuição do nó 1 serão revertidos ou perderei certos dados?

2) Eu tenho o nó 1 é editor e o nó 2 tem distribuidor e assinante, caso o editor fique inativo por algumas horas e eu precise abrir o assinante para leitura e gravação. O que acontece com a transação marcada para replicação no editor, mas não foi enviada ao distribuidor, será revertida ou perderei alguns dados?

obrigada

sql-server transactional-replication
  • 1 respostas
  • 67 Views
Martin Hope
A.HADDAD
Asked: 2019-07-02 23:52:06 +0800 CST

Diferença entre is_published e is_merge_published no Sql Server?

  • 0

Qual é a diferença entre as colunas is_published e is_merge_published no Sql Server?

Não consigo encontrar documentos descrevendo isso!

SELECT [name],[is_published],[is_merge_published] FROM sys.databases ;
sql-server transactional-replication
  • 1 respostas
  • 318 Views
Martin Hope
BustaRhymes313
Asked: 2019-06-04 11:26:13 +0800 CST

Dados de replicação transacional durante a reconstrução

  • 0

Para descarregar relatórios, tenho uma replicação transacional em execução entre minha caixa de produção e meu servidor de relatórios (imagem superior nº 1). Isso funciona muito bem até que o instantâneo precise ser reconstruído. Durante esse período, os usuários/aplicativos/relatórios estão lendo um conjunto de dados incompleto enquanto o banco de dados de relatórios está sendo reconstruído.

Alguém mais experimenta esse problema? Qual é o melhor trabalho ao redor?

O nº 2 na imagem é uma solução razoável? Crie um banco de dados shell em cima de um repositório de dados. O banco de dados de relatórios não contém mais dados, mas apenas exibições que replicam a estrutura das tabelas no repositório de dados. Durante uma reconstrução do banco de dados "repositório de dados", o "banco de dados de relatórios" é definido offline para impedir que usuários/aplicativos/repositórios leiam dados incompletos?

insira a descrição da imagem aqui

sql-server transactional-replication
  • 1 respostas
  • 94 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve