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-15535

Elijah W. Gagne's questions

Martin Hope
Elijah W. Gagne
Asked: 2015-08-07 13:13:22 +0800 CST

Oracle regexp_like colchetes dentro do conjunto de caracteres

  • 3

Esta questão é em relação ao Oracle, pl/sql e a função regexp_like.

Estou tentando construir um conjunto de caracteres que corresponda a todos os caracteres especiais típicos. Meu conjunto de caracteres atualmente se parece com:

pattern := '[-~`!@#$%^&*\(\)\\{}_+=|''";:,./?]+';

Gostaria de adicionar os colchetes a este conjunto de caracteres, no entanto, tudo o que tento adicionar ']' não está funcionando. Aqui está um exemplo simples que ilustra o problema:

select
  case when regexp_like('w]ord', '[\]]+') then 'true'
  else 'false' end
from dual;

Isso retorna falso, o que significa que não corresponde ao caractere ']'. Curiosamente, posso fazer com que o caractere '[' corresponda porque isso retorna verdadeiro:

select
  case when regexp_like('w[ord', '[\[]+') then 'true'
  else 'false' end
from dual;
oracle plsql
  • 2 respostas
  • 8634 Views
Martin Hope
Elijah W. Gagne
Asked: 2014-03-06 13:17:43 +0800 CST

SQL Server 2012 + SQL Server 2008R2 na mesma VM

  • 2

Não consigo encontrar imediatamente uma referência a ele, mas lembro-me de ter lido em algum lugar que é uma prática recomendada não misturar versões do SQL Server no mesmo host. Acredito que a lógica era que muitas vezes, especialmente com clustering, você precisará instalar hotfixes (Windows) e esses hotfixes podem afetar as diferentes versões do SQL Server de maneiras inesperadas.

No entanto, parece que a combinação de versões do SQL Server é suportada pelo Microsoft .

Eu tentei pesquisar sobre isso, mas tem sido difícil encontrar uma fonte definitiva que me diga que não há problema em misturar versões do SQL Server.

Alguém pode definitivamente dizer que não há problema em misturar versões ou, em vez disso, mostrar fortes evidências de por que você não deveria?

sql-server
  • 1 respostas
  • 51 Views
Martin Hope
Elijah W. Gagne
Asked: 2014-03-06 13:04:57 +0800 CST

SQL Server: várias instâncias de cluster de failover com armazenamento separado

  • 1

Isso é para o SQL Server 2012. Atualmente, tenho dois datacenters com SANs separadas. Estou usando instâncias de cluster de failover (FCIs) para redundância de servidor e Grupos de Disponibilidade (AGs) AlwaysOn para redundância de datacenter. Isto é o que parece:

insira a descrição da imagem aqui

O problema é que eu gostaria de FCIs em ambos os datacenters, assim:

insira a descrição da imagem aqui

Quando tentamos adicionar o armazenamento para os nós 3 e 4, não conseguimos porque o armazenamento não é compartilhado com os nós 1 e 2. Em Add Storage to a Failover Cluster diz:

O disco deve estar disponível para todos os nós no cluster antes que você possa adicioná-lo ao conjunto de armazenamento do cluster.

Entendo que os Nodes1,2,3,4 devem estar todos no mesmo Cluster de Failover do Windows para usar AGs. No entanto, esse requisito parece nos impedir de configurar FCIs em ambos os datacenters.

Existe alguma maneira de ter meu bolo e comê-lo?

sql-server sql-server-2012
  • 1 respostas
  • 2271 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-10-29 10:43:21 +0800 CST

Por que uma consulta de execução longa permaneceria inativa e com wait_info nulo

  • 4

A consulta a seguir foi executada no SQL Server 2008 R2 e levou mais de 1 hora para ser executada:

select log_id, type, instance_id from ts_cache_log where log_id > 146400 order by log_id

Produziu 0 linhas retornadas. Sei disso porque restaurei o banco de dados no momento em que a consulta começou a ser executada e a executei novamente. Quando fiz isso, a consulta correu muito rápido (menos de 1 segundo).

Enquanto essa consulta estava em execução por mais de uma hora, sp_WhoIsActive foi iniciado a cada 5 minutos por meio de um trabalho do SQL Agent e registrou os detalhes em uma tabela. A imagem abaixo, que você deve baixar e visualizar ampliada , mostra o que estava sendo executado durante esse período.

sp_WhoIsActive Detalhes

A consulta de execução longa é destacada em verde. A coluna wait_info é nula e o sleep_status está sempre dormindo.

Alguma ideia de por que essa consulta demorou tanto para ser executada e/ou alguma ideia sobre o que posso fazer para solucionar o problema ainda mais?

sql-server performance
  • 2 respostas
  • 6716 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-09-25 09:11:40 +0800 CST

falha de login dcexec

  • 1

Eu tenho uma instância do SQL Server 2008 R2 na qual estou tentando configurar a coleta de dados. Eu tenho tudo configurado, mas não há dados que sejam carregados. Rastreei a raiz do problema como uma falha nos trabalhos do SQL Agent onde ele chama dcexec.

Isolando isso, posso reproduzir o problema executando:

& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER" -m 1

Eu executo o comando acima em uma janela do PowerShell que abri com RunAs Administrator . A conta com a qual estou executando o acima é uma conta de domínio que é um administrador local no servidor. Além disso, a conta também possui a função sysadmin na instância SQL.

O erro que recebo é:

SSIS error. Component name: GenerateTSQLPackageTask, Code: -1073548540, 
Subcomponent: Generate T-SQL Package Task, 
Description: An error occurred with the following error message: 
"An error occurred while verifying the result set schema against the output table schema. 
The data collector cannot connect to the management data warehouse. : Login failed.
The login is from an untrusted domain and cannot be used with Windows authentication."..

The master package exited with error, previous error messages should explain the cause.

Esse é o mesmo erro que vejo no histórico do trabalho do SQL Server Agent.

Observe que, se eu executar dcexec com um nome de instância inválido, como:

& "D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\dcexec.exe" -c -s 1 -i "localhost\MSSQLSERVER1" -m 1

Então, como esperado, recebo um erro diferente:

Failed to get the SQL server instance id from the given instance name.

Alguma idéia de como fazer login com sucesso na instância do SQL com dcexec?

sql-server sql-server-2008-r2
  • 1 respostas
  • 1915 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-07-27 13:56:22 +0800 CST

AlwaysOn AG, DTC com failover

  • 14

Problema: Como posso executar o Coordenador de Transações Distribuídas (DTC) em todos os servidores em um Grupo de Disponibilidade (AG) AlwaysOn? NÃO preciso manter transações em eventos de failover/switchover.

Configuração: Eu tenho um Cluster de Failover do Windows (WSFC) com três servidores Windows 2008 R2 onde todos estão executando o SQL 2012. Dois servidores estão em um datacenter e fazem parte de um Cluster de Failover AlwaysOn (FCI), enquanto o terceiro servidor está em um segundo centro de dados. O WSFC é um cluster de várias sub-redes. Aqui está um esboço da configuração: insira a descrição da imagem aqui

Consegui instalar e configurar o DTC para funcionar entre os dois nós FCI porque eles estão na mesma sub-rede e compartilham armazenamento. Eu configurei alguns AGs e eles estão funcionando bem. Esta captura de tela mostra o DTC instalado no FCI:

insira a descrição da imagem aqui

Esta captura de tela mostra que posso configurar o DTC em um dos nós FCI (o que estiver ativo): insira a descrição da imagem aqui

Gostaria de migrar um aplicativo que usa DTC para este cluster e usar um AG. Eu li que o DTC não é compatível com AGs ( Referência ). Não consegui encontrar uma maneira de configurar o DTC no terceiro nó do segundo data center. Quando tento configurar o DTC no terceiro nó, ele parece estar indisponível, conforme mostrado nesta captura de tela:

insira a descrição da imagem aqui

No PDF da lista de verificação de configuração gratuita de Brent Ozar para grupos de disponibilidade, ele lista:

Instalação de cluster...

29. Se uma FCI estiver envolvida, configure o DTC de acordo com as decisões da seção de Planejamento.

Nos comentários sobre os Grupos de Disponibilidade AlwaysOn do SQL Server 2012, Rock Brent diz que "... nada muda quando os AGs estão em jogo. Lembre-se de que os bancos de dados em um Grupo de Disponibilidade não oferecem suporte à consistência transacional quando falham juntos para outra réplica. .."

Isso faz parecer que o DTC pode ser usado em grupos de disponibilidade, desde que você entenda que as transações não serão mantidas em uma alternância de AG. Eu não precisaria dele para manter as transações dos nós FCI. Eu só precisaria do DTC disponível para o aplicativo usar no caso de um desastre catastrófico (onde perdi meu data center principal).

Como configuro o DTC no meu terceiro nó? Ou será que estou sem sorte quando se trata de usar AGs e um aplicativo que precisa de DTC?

ATUALIZAÇÃO: A solução que escolhi é usar Log Shipping. No entanto, no caso de um failover, ainda preciso que o DTC esteja disponível no Node3. Descobri que ele se torna disponível desinstalando a instância MSDTC-MSSQLSERVERCLU agrupada do DTC que é compartilhada entre o Nó1 e o Nó2. Depois de removido, posso instalar e configurar uma instância LocalDTC no Node3. Depois disso, posso reinstalar a instância MSDTC-MSSQLSERVERCLU em cluster. Fazer a sequência de instalação nessa ordem parece funcionar. Estou correndo assim há algum tempo e não descobri nenhum efeito nocivo. Parece que isso também funcionaria para executar um grupo de disponibilidade AlwaysOn. Entendo que as transações distribuídas não seriam preservadas em um failover de AG, precisaria apenas de novas para funcionar após o failover. Mas eu não

sql-server availability-groups
  • 1 respostas
  • 7208 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-04-26 06:35:41 +0800 CST

Como altero o subdomínio DNS do Grupo de Disponibilidade do SQL Server 2012?

  • 7

Perguntas : como posso registrar meu grupo de disponibilidade como ag-ewgtest.sql.company.comdado que meu servidor se considera server.company.com.

Configuração: meu grupo de disponibilidade do SQL Server 2012 está em várias sub-redes, semelhante ao descrito neste artigo do blog do MSDN . Quando entro no Failover Cluster Manager, ele mostra que a resolução de nomes ainda não está disponível:

insira a descrição da imagem aqui

Em seguida, clico com o botão direito do mouse em "Nome: ag-ewgtest" e escolho propriedades. Eu marquei "Publicar registros PTR" e isso me mostra que o nome completo é ag-ewgtest.company.com.

insira a descrição da imagem aqui

O problema que tenho é que só tenho permissão para atualizar a zona DNS sql.company.com. Se eu alterar o nome DNS para be ag-ewgtest.sql.company.com, o nome completo se tornará ag-ewgtest.sql.company.com.company.com.

Eu tentei atualizar minha NIC como:

insira a descrição da imagem aqui

Mas não fez diferença. Como posso alterar o subdomínio no qual meu grupo de disponibilidade tenta se registrar?

sql-server sql-server-2012
  • 2 respostas
  • 8894 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-04-25 12:16:53 +0800 CST

Encolhendo arquivos de log com SMO

  • 2

Eu sei que posso usar o seguinte t-SQL para reduzir um arquivo de log:

BACKUP LOG db1 TO DISK = '\\server\share\db1_log1.trn';
DBCC ShrinkFile([db1_log], 0);

Como faço o mesmo com o SMO? Eu tentei:

$server = new-Object Microsoft.SqlServer.Management.Smo.Server()

$dbBackup = new-object Microsoft.SqlServer.Management.Smo.Backup
$dbBackup.Action = "Log"
$dbBackup.Database = "db1"
$dbBackup.Devices.AddDevice("\\server\share\db1_log1.trn", "File")
$dbBackup.SqlBackup($server)

$db = $srv.Databases.Item("db1")
$db.TruncateLog()

Mas aqui , descobri que o método TruncateLog() não funciona com nada superior ao SQL 2005. Esse link recomendado usar:

$db.RecoveryModel = RecoveryModel.Simple
$db.Alter()
$db.LogFiles[0].Shrink(0, ShrinkMethod.TruncateOnly)

No entanto, mudar para o modo de recuperação simples interromperá minha cadeia de logs e não quero fazer isso. Encolher o arquivo de log não quebra minha cadeia de log, então estou procurando um método SMO equivalente para fazer isso. Esse método existe?

sql-server backup
  • 2 respostas
  • 6143 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-04-25 12:02:52 +0800 CST

Qual a melhor forma de manter os tamanhos dos arquivos de log do SQL

  • 13

Sou um novo DBA e estou gerenciando uma instância do SQL Server 2012 que tem bastante atividade. Estou executando no modo de recuperação total porque precisamos de uma recuperação pontual.

No momento, estou fazendo um backup completo dos bancos de dados e logs todos os dias às 5h. Alguns dos arquivos de log aumentaram para 300 GB e, mesmo depois de fazer um backup, eles não diminuem de tamanho. Posso reduzi-los de tamanho executando algo semelhante a:

BACKUP LOG db1 TO DISK = '\\server\share\db1_log1.trn';
DBCC ShrinkFile([db1_log], 0);

BACKUP LOG db1 TO DISK = '\\server\share\db1_log2.trn';
DBCC ShrinkFile([db1_log], 0);

BACKUP LOG db1 TO DISK = '\\server\share\db1_log3.trn';
DBCC ShrinkFile([db1_log], 0);

Quando verifico os LSNs dos arquivos de backup, vejo algo como:

RESTORE headeronly FROM DISK = N'\\server\share\db1_log1.trn'
FirstLSN:  15781000014686200001
SecondLSN: 15802000000665000001

RESTORE headeronly FROM DISK = N'\\server\share\db1_log2.trn'
FirstLSN:  15802000000665000001
SecondLSN: 15805000000004100001

RESTORE headeronly FROM DISK = N'\\server\share\db1_log3.trn'
FirstLSN:  15805000000004100001
SecondLSN: 15808000000004200001

Não acredito que estou quebrando minha cadeia de log encolhendo os arquivos de log. Lendo sobre isso, acredito que estou prejudicando meu desempenho porque esses arquivos de log encolhidos precisam crescer novamente.

Perguntas:

  1. Por que o arquivo de log não diminui após meus backups? É porque há transações não confirmadas?
  2. A princípio, pensei que deveria reduzir os arquivos de log após cada backup às 5h. Depois de ler como isso é ruim para o desempenho, agora acredito que preciso fazer backups de log regulares a cada duas horas durante o dia. Isso está correto?
  3. Meu backup completo normal do banco de dados/logs acontece todos os dias às 5h e às vezes leva 3 horas. Se eu agendar os backups de log para acontecer a cada hora, o que acontecerá quando o backup de log colidir com o backup das 5h?
sql-server sql-server-2012
  • 3 respostas
  • 17340 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-04-25 06:45:40 +0800 CST

SQLPlus: Cmd vs PowerShell

  • 0

Do cmd.exe, quando eu executo:

C:\oracle\client\BIN\sqlplus.exe username@server

em seguida, digito minha senha, eu entro. No entanto, se eu executar o mesmo comando do PowerShell e digitar a mesma senha, recebo:

ERROR:
ORA-01017: invalid username/password; logon denied

Depois de pesquisar um pouco e certificar-me três vezes de que estou digitando minha senha corretamente, ainda não consigo descobrir por que o SQLPlus não está funcionando para mim no PowerShell. o que estou perdendo?

oracle sqlplus
  • 1 respostas
  • 3053 Views
Martin Hope
Elijah W. Gagne
Asked: 2013-04-17 06:02:11 +0800 CST

SQL Server 2012, Rede para: Grupo de Disponibilidade AlwaysOn com Instâncias de Cluster de Failover AlwaysOn AlwaysOn

  • 3

Configuração : tenho dois centros de dados. No site1, meu site principal, gostaria de implantar uma instância de cluster de failover (FCI) AlwaysOn. No site2, meu site de recuperação de dados, gostaria de implantar uma instância de nó único do SQL. Eu gostaria de usar grupos de disponibilidade AlwaysOn (AG) para replicar dados entre site1 e site2.

Eu li muitas postagens de blog e artigos da TechNet. Está claro para mim que o failover automático não tem suporte para AGs com membros FCI [1]. Também está claro que os FCIs suportam nós em várias sub-redes [2]. Aparentemente, isso é obtido atualizando o nome da rede virtual (VNN) no DNS.

Pergunta : Os AGs oferecem suporte a várias sub-redes ou preciso de uma sub-rede estendida entre site1 e site2? Não consegui encontrar nenhuma fonte que deixasse isso claro.

Referências :

[1] Clustering de Failover e Grupos de Disponibilidade AlwaysOn (SQL Server) http://msdn.microsoft.com/en-us/library/ff929171.aspx

[2] Instâncias de Cluster de Failover AlwaysOn (SQL Server) http://msdn.microsoft.com/en-us/library/ms189134.aspx

sql-server sql-server-2012
  • 1 respostas
  • 1958 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