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 / user-14504

Alf47's questions

Martin Hope
Alf47
Asked: 2018-06-22 12:53:57 +0800 CST

Grupo de disponibilidade distribuído com propagação manual

  • 11

Estou procurando um passo a passo de como configurar um grupo de disponibilidade distribuído com propagação manual. Posso fazer a propagação automática funcionar, mas quando tento semear manualmente, não consigo obter o banco de dados secundário no AG no encaminhador.

Se eu adicionar o AG distribuído ao secundário antes de tentar adicionar o banco de dados ao AG regular, recebo a seguinte mensagem:

Msg 41190, Level 16, State 7, Line 22
Availability group 'MYDB' failed to process add-database command.  The local availability replica is not in a state that could process the command.  Verify that the availability group is online and that the local availability replica is the primary replica, then retry the command. 

Se eu tentar adicionar o banco de dados primeiro sem ingressar no Distributed AG no secundário, recebo a seguinte mensagem porque ele acha que deve ser um primário:

Msg 927, Level 14, State 2, Line 22
Database 'MYDB' cannot be opened. It is in the middle of a restore.

Eu não tenho nenhum desses problemas com a semeadura automática. Tudo funciona magicamente. Todos os exemplos que encontro online usam semeadura automática.

desde já, obrigado

sql-server sql-server-2017
  • 2 respostas
  • 3185 Views
Martin Hope
Alf47
Asked: 2017-03-04 08:47:36 +0800 CST

Usando CHECKPOINT vs GO

  • 5

Normalmente, quando um dos desenvolvedores ou analistas de dados precisa realizar uma atualização ou exclusão muito grande de dados (onde um truncar ou truncar/inserir não faria sentido porque o conjunto de dados a ser mantido é muito grande) recomendo que eles façam algo como o seguinte:

-- Delete 1 million rows 1 thousand at a time
DELETE TOP (1000) FROM TableA WHERE <condition>
WAITFOR DELAY '00:00:01'
GO 1000

O resultado disso em bancos de dados que estão em modo de recuperação total é que 1) a espera permite que outras transações sejam processadas se necessário e 2) quando o backup de log é executado é capaz de marcar as operações já concluídas como sujas no arquivo de log para que pode reutilizar o espaço e evitar que o tronco cresça muito rapidamente.

Em vez de fazer isso, gostaria de saber se é possível realizar a mesma coisa usando pontos de verificação. Essa declaração resultaria efetivamente na mesma situação?

-- Delete 1 million rows 1 thousand at a time
WHILE EXISTS ( SELECT 1 FROM TableA WHERE <condition> )
BEGIN
DELETE TOP (1000) FROM TableA WHERE <condition>
WAITFOR DELAY '00:00:01'
CHECKPOINT
END

Novamente, esses são bancos de dados em modo de recuperação total.

sql-server delete
  • 2 respostas
  • 1064 Views
Martin Hope
Alf47
Asked: 2017-02-09 10:27:21 +0800 CST

Precisa de ajuda para encontrar um substituto para sys.sysprocesses

  • 4

O SQL 2016 Data Migration Assistant (Upgrade Advisor) está dizendo que preciso parar de usar referências de tabela de sistema antigas. Ou seja, ele quer que eu pare de usar sysdatabases e sysprocesses.

Eu tenho algum código que está registrando informações de sessão com base em dados de sysprocesses. Incluído nesse log está o ID do banco de dados do spid (session_id).

Estive pesquisando on-line e encontrei apenas duas substituições possíveis, nenhuma das quais funciona totalmente devido aos motivos explicados abaixo.

Opção 1 (sys.dm_tran_locks) - Esta opção parece funcionar de forma bastante confiável se eu vincular de volta a sys.dm_exec_sessions, mas notei que ela nunca retornará um resultado se o contexto do banco de dados do session_id for master ou tempdb. Isso significa que não poderei buscar de forma confiável o resource_database_id para qualquer session_id que esteja usando master ou tempdb. Também não posso simplesmente presumir, pois há pelo menos dois contextos possíveis para escolher.

Opção 2 (sys.dm_exec_requests) - Esta opção só funciona em session_ids que estão em execução ativa. Os session_ids inativos/suspensos não aparecem na lista.

Se eu não conseguir obter o dbid para session_ids que estão suspensas e/ou estão usando o contexto do banco de dados mestre, terei uma lacuna nos meus logs.

Existe alguma outra maneira de buscar essas informações de forma confiável sem o uso de sys.sysprocesses?

sql-server migration
  • 2 respostas
  • 2518 Views
Martin Hope
Alf47
Asked: 2017-01-28 06:55:54 +0800 CST

Como o limite de cluster de 2 nós é aplicado para SQL Server Standard Edition?

  • 3

Eu sei que o Books Online diz que a edição padrão suporta apenas 2 nós, mas como isso é realmente aplicado?

Será que:

  1. Não permite que você instale uma nova instância em um cluster com mais de 2 nós?
  2. Não permite que você adicione um terceiro nó a um cluster de failover que tenha pelo menos 1 instância de edição padrão do SQL Server?
  3. Não permite que você selecione mais de 2 proprietários possíveis para o grupo de recursos/função de cluster?

Ou vai se comportar de alguma outra forma?

Estou curioso porque um dos administradores gostaria de expandir um cluster existente de 2 nós para 3 nós, mas ele tem 2 instâncias de edição padrão do SQL Server, então não sei o que acontecerá.

O cluster tem instâncias do SQL 2008 R2 e SQL 2012 em execução no Windows 2008 R2.

sql-server sql-server-2008-r2
  • 2 respostas
  • 6003 Views
Martin Hope
Alf47
Asked: 2013-08-27 12:16:10 +0800 CST

Precisa de ajuda para executar uma tarefa remota do SQL Server Agent

  • 2

Há uma tarefa agendada em execução em um servidor de lote por meio do Agendador de Tarefas do Windows que, às vezes, se sobrepõe a outros trabalhos agendados no SQL Server Agent, causando problemas de CPU. Podemos resolver isso se pudermos fazer com que o SQL Server Agent execute o .exe no servidor remoto para garantir que os agendamentos nunca entrem em conflito.

Existe alguma maneira de fazer isso com o SQL Server Agent, talvez com um comando Powershell? Em caso afirmativo, você pode me dar os passos?

O .exe no servidor remoto é um importador de dados para SQL. É um .exe autônomo. Queremos que ele seja executado no servidor de lote para que não cause contenção de recursos no servidor de banco de dados. Estamos executando o SQL 2008 R2 Enterprise.

Por favor, deixe-me saber se alguma informação adicional é necessária para responder a esta pergunta.

sql-server-2008-r2 sql-server-agent
  • 1 respostas
  • 4823 Views
Martin Hope
Alf47
Asked: 2012-10-18 07:13:54 +0800 CST

Essas duas consultas são logicamente equivalentes?

  • 11

Essas duas consultas são logicamente equivalentes?

DECLARE @DateTime DATETIME = GETDATE()

Consulta 1

SELECT *
FROM   MyTable
WHERE  Datediff(DAY, LogInsertTime, @DateTime) > 7   

Consulta 2

SELECT *
FROM   MyTable
WHERE  LogInsertTime < @DateTime - 7 

Se eles não forem logicamente equivalentes, você pode me fornecer o equivalente lógico da primeira consulta para que a cláusula WHERE possa efetivamente usar um índice (ou seja, eliminar o agrupamento de função)?

sql-server query
  • 3 respostas
  • 720 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