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 / 246931
Accepted
Bartosz X
Bartosz X
Asked: 2019-09-05 00:32:01 +0800 CST2019-09-05 00:32:01 +0800 CST 2019-09-05 00:32:01 +0800 CST

SQL Server no Windows Server (VMware) - troca de armazenamento online

  • 772

Eu tenho um cluster de VM projetado para armazenar várias instâncias do SQL Server. Usamos vários provedores de armazenamento (ou seja, 3PAR, XIV) que precisam ser alterados agora (não é relevante para qual marca). No Oracle no Linux usamos VLM/Oracle ASM para realizar a troca de armazenamento enquanto a instância Oracle permanece online. Preciso trocar o armazenamento de discos usados ​​como partições User_DB, User_DB_Logs e Backup no Windows. Existe alguma coisa que eu possa fazer no mundo SQL Server / Windows Server para alcançá-lo?

SQL Server Std & Enterprise 2012-2017

Windows Server 2012 R2 - 2019

EDIÇÃO 1:

Estou procurando opções como gravar dados e fazer login em dois destinos ao mesmo tempo (usando uma instância MSSQL) ou espelhamento de disco no nível do Windows Server / VMware, o que me permitiria fazer uma troca a quente uma vez que ambos os discos estivessem sincronizados.

Minha configuração tem bem mais de 500 instâncias individuais do SQL Server, muitas com mais de 100 bancos de dados. A solução deve ser orquestrada e bastante genérica.

Até onde eu sei, não há nada parecido no mundo Windows/MSSQL, mas este fórum me surpreendeu o suficiente para levantar essa questão de qualquer maneira.

EDIÇÃO 2:

Acabei com a ideia de criar um segundo conjunto de meus bancos de dados na mesma instância, pois eles estão localizados principalmente. Isso me permitiria ter uma cópia do meu conjunto de banco de dados localizado em discos recém-introduzidos (apoiados por um novo provedor de armazenamento por trás da VM). Na minha configuração, preciso migrar apenas bancos de dados de usuários (incluindo seus logs), todo o resto permanece em seu conjunto de unidades atual (os backups são fáceis de mover). Portanto, o que preciso fazer agora é forçar uma das tecnologias de HA disponíveis a criar uma cópia do meu conjunto de banco de dados na mesma instância do SQL Server. Portanto, o plano que tenho é assim:

  • Gire novos discos para dados de banco de dados SQL e logs de banco de dados
  • Apresente-os ao Windows e ao SQL Server
  • Configure uma replicação transacional de todos os bancos de dados do usuário na mesma instância do SQL Server, alterando os nomes dos bancos de dados e sua localização física nas unidades
  • Quando tudo estiver sincronizado, interrompa o tráfego SQL, renomeie conjuntos de banco de dados e faça failover no banco de dados localizado em unidades novas
  • Limpar (bancos de dados antigos, replicação, pools de buffer etc.)

Isso me permitiria introduzir novas unidades com tempo mínimo de folga.

Você pode pensar em algo mais rápido do que (não envolvendo a introdução de novas instâncias do SQL Server)?

sql-server high-availability
  • 2 2 respostas
  • 211 Views

2 respostas

  • Voted
  1. David Browne - Microsoft
    2019-09-05T05:31:57+08:002019-09-05T05:31:57+08:00

    Siga o processo aqui: Mover arquivos de banco de dados para mover os bancos de dados para o novo armazenamento. Você pode deixar a instância online, mas cada banco de dados precisará estar OFFLINE enquanto seus arquivos são copiados para o novo local.

    Como alternativa, você pode apresentar as novas unidades, desligar o SQL Server, copiar todos os arquivos para as novas unidades, desmontar as unidades antigas, montar as novas unidades nas mesmas pastas ou letras das unidades antigas e reiniciar o SQL Server.

    Em ambos os casos, faça backups de seus bancos de dados antes de iniciar NÃO exclua nenhum arquivo das unidades antigas até que você tenha migrado com sucesso para as novas unidades e feito novos backups de seus bancos de dados.

    o que preciso fazer agora é forçar uma das tecnologias de HA disponíveis a criar uma cópia do meu conjunto de banco de dados na mesma instância do SQL Server.

    Para fazer isso, use Backup/Restauração, não Replicação Transnacional. A replicação é mais complicada, cara e não suporta tabelas sem chave primária ou todos os objetos de banco de dados. Então, para cada banco de dados:

    1. Coloque o banco de dados no modo de recuperação completa
    2. Faça um backup completo e restaure-o com um novo nome e local sem recuperação
    3. Faça um backup do log da cauda do banco de dados de origem (colocando-o offline).
    4. Restaure o backup do log da cauda no novo banco de dados com recuperação.
    5. Renomeie ou elimine o banco de dados antigo
    6. Renomeie o novo banco de dados (novamente online).
    7. Restaure o modo de recuperação desejado do novo banco de dados.
    • 3
  2. Best Answer
    Bartosz X
    2019-11-08T08:32:51+08:002019-11-08T08:32:51+08:00

    Então, depois de cavar e aplicar esta solução em situações do mundo real, posso compartilhar com você que é possível migrar seu SQL Server (DBs do sistema, usuários ou até mesmo os arquivos de instalação) usando as ferramentas do Windows Server. Tudo que você tem a fazer é:

    • apresentar o novo armazenamento ao seu sistema operacional
    • abra o gerenciador de disco (diskmgmt.msc) e converta seus discos (para migrar) para dinâmico
    • configurar um espelhamento de disco (partição) visando sua nova unidade
    • espere eles sincronizarem
    • exclua o espelho do seu disco antigo (partição)

    Existem limitações para este processo e é obviamente caro para I\O e definitivamente irá desacelerar sua instância do SQL Server, mas o mais importante - é possível movê-lo enquanto ele permanece online o tempo todo, que era a principal necessidade para o meu solução.

    • 1

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

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