Atualmente, só tenho um arquivo de backup, IMTDB.bak, e ele está no mesmo HDD que o próprio banco de dados. Desejo aumentar a redundância desse backup de banco de dados basicamente "copiando" para outro disco, mas recebo o erro "Falha no backup do servidor. A mídia está formatada para suportar 2 famílias de mídia". Acho que isso significa que, quando eu criei o backup, ele deve ser colocado em apenas uma unidade e não posso adicionar mais retroativamente. Quero migrar o backup para esta outra unidade (realmente apenas copiá-lo), mas não quero excluir o backup atual para fazer isso.
O que eu faço? Estou seguro em copiar o IMTDB.bak para uma pasta na outra unidade?
sql-server
sql-server-2014
sql-server-express
ijustlovemath
fonte
fonte
BACKUP DATABASE
comando T-SQL para fazer backup em dois locais simultaneamente.Respostas:
Como você não está familiarizado com o
BACKUP DATABASE
comando T-SQL , pensei em adicionar alguns detalhes sobre isso.Você provavelmente deseja executar algo como a declaração a seguir através do serviço Agendador de Tarefas do Windows, uma vez que não tem acesso ao SQL Server Agent (pelo que vejo em suas outras perguntas, você usa o SQL Server Express).
Você pode considerar fortemente que a
MIRROR TO
cláusula aponte para algum local que não esteja na sua máquina local, pois se você perder completamente a sua máquina local, poderá não conseguir acessar nenhum arquivo de backup. A especificação de umaMIRROR TO
cláusula requer que você especifique aFORMAT
palavra - chave naWITH
cláusula na primeira vez em que executar essa instrução de backup.Você pode usar o nome de um compartilhamento do Windows,
\\SomeServer\SQLBackups\MyBackupFile.bak
desde que as permissões de segurança no compartilhamento permitam o acesso ao serviço Windows Scheduler.A
WITH FORMAT, INIT
peça informa ao SQL Server para substituir os backups existentes que possam estar nos arquivos de backup. Você pode alterar isso paraWITH NOINIT
depois de concluir o primeiro backup espelhado, se desejar que vários backups (ou seja, backups de diferentes momentos) sejam salvos nesses arquivos.NOSKIP
instrui o SQL Server a não verificar a expiração do backup, entre outras coisas.STATS = 1
exibirá a saída em1
incrementos percentuais. Você pode alterar esse número para o que quiser. Eu uso1
em bancos de dados muito grandes, pois fornece algumas indicações de progresso.Para que isso seja executado pelo serviço Agendador de Tarefas do Windows, você precisará salvar esse comando (depois de testá-lo no SQL Server Management Studio) em um arquivo no seu disco; vamos chamá-lo
C:\somefolder\BackupMyDB.sql
. Você desejará adicionar o seguinte comando ao Agendador do Windows:Você deseja que essa tarefa seja executada como você.
Depois de fazer tudo isso, você deve considerar seriamente tentar restaurar o backup em outra máquina para entender como fazer isso. Ter backups é apenas uma parte de um plano de recuperação de desastre; a parte discutivelmente mais importante é testar esse plano.
O processo de restauração usaria um comando parecido com:
Esteja avisado que a execução
RESTORE DATABASE
na máquina em que seu banco de dados atual pode substituir o banco de dados atual sem confirmação ou aviso; portanto, avalie cuidadosamente o nome do banco de dados,[xyz]
no meu exemplo, e as outras opções usadas. (Na verdade, isso não substituirá o banco de dados existente, a menos que você adicione aREPLACE
palavra-chave àWITH
cláusula - só quero enfatizar o cuidado.)fonte
MIRROR
exige que você formate o arquivo de backup na primeira vez em que o usar, o que removerá os backups existentes nesse arquivo.Você pode usar o
backup database .... MIRROR TO DISK =
backup do banco de dados para um local adicional.Sim, você pode fazer isso quando o backup for concluído.
Nota: Verifique se você está usando o T-SQL em vez da GUI, que possui opções limitadas de backup expostas.
fonte
read_only
modo e faça apenas um último backupCOMPRESSION
. Guarde-o em local seguro.