Tenho sido muito negligente em fazer backups de banco de dados em nossos servidores internos.
Existe um programa de linha de comando simples que posso usar para fazer backup de certos bancos de dados no SQL Server 2005? Ou existe um VBScript simples?
sql-server
command-line
scripting
backup
Frank Krueger
fonte
fonte
Respostas:
Para fazer backup de um único banco de dados a partir da linha de comando, use osql ou sqlcmd .
Você também vai querer ler a documentação sobre BACKUP e RESTORE e procedimentos gerais .
fonte
WITH FORMAT
formata o meio de armazenamento: “ A opção FORMAT invalida todo o conteúdo da mídia, ignorando qualquer conteúdo existente. ” Certifique-se de que é isso que você deseja.osql.exe
foi emC:\Program Files\Microsoft SQL Server\140\Tools\Binn\OSQL.EXE
Eu uso o ExpressMaint .
Para fazer backup de todos os bancos de dados do usuário, eu faço, por exemplo:
fonte
Agende o seguinte para fazer backup de todos os bancos de dados:
Também há mais detalhes em meu blog: como automatizar backups do SQL Server Express .
fonte
Eu encontrei isso na página de suporte da Microsoft http://support.microsoft.com/kb/2019698 .
Funciona muito bem! E como veio da Microsoft, acho que é bastante legítimo.
Basicamente, existem duas etapas.
Agende o backup de seu agendador de tarefas. Você pode querer colocar em um arquivo .bat ou .cmd primeiro e, em seguida, agendar esse arquivo.
Obviamente, substitua YOUR_SERVER_NAME pelo nome do seu computador ou, opcionalmente, tente. \ SQLEXPRESS e verifique se a pasta de backup existe. Neste caso, ele está tentando colocá-lo em c: \ SQL_Backup
fonte
Você pode usar o aplicativo de backup do ApexSQL. Embora seja um aplicativo GUI, ele tem todos os seus recursos com suporte no CLI. É possível realizar operações de backup únicas ou criar uma tarefa que faria backup de bancos de dados especificados regularmente. Você pode verificar as regras de mudança e exemplificadas nos artigos:
fonte
Estou usando tsql em uma infraestrutura Linux / UNIX para acessar bancos de dados MSSQL. Aqui está um script de shell simples para despejar uma tabela em um arquivo:
fonte
Eventual se você não tiver uma conexão confiável, conforme declara a chave –E
Use a seguinte linha de comando
"[program dir]\[sql server version]\Tools\Binn\osql.exe" -Q "BACKUP DATABASE mydatabase TO DISK='C:\tmp\db.bak'" -S [server] –U [login id] -P [password]
Onde
[dir do programa] é o diretório onde o osql.exe existe
[versão do servidor sql] sua versão do servidor sql 110 ou 100 ou 90 ou 80 começa com o maior número
[servidor] seu nome de servidor ou ip do servidor
[login id] seu nome de login de usuário do servidor ms-sql
[senha] a senha de login necessária
fonte
C:\tmp
o caminho está no servidor ou local ?A resposta da Microsoft para fazer backup de todos os bancos de dados do usuário no SQL Express é aqui :
O processo é: copiar, colar e executar seu código (veja abaixo. Eu comentei algumas linhas estranhamente não comentadas no topo) como uma consulta em seu servidor de banco de dados. Isso significa que você deve primeiro instalar o SQL Server Management Studio (ou conectar-se ao seu servidor de banco de dados com SSMS). Esta execução de código criará um procedimento armazenado em seu servidor de banco de dados.
Crie um arquivo em lote para executar o procedimento armazenado e, a seguir, use o Agendador de tarefas para agendar uma execução periódica (por exemplo, à noite) desse arquivo em lote. Meu código (que funciona) é uma versão ligeiramente modificada do primeiro exemplo:
Isso funcionou para mim, e eu gosto disso. Cada vez que você o executa, novos arquivos de backup são criados. Você precisará desenvolver um método de exclusão de arquivos de backup antigos regularmente. Já tenho uma rotina que faz esse tipo de coisa, então vou manter alguns dias de backups em disco (tempo suficiente para que eles sejam copiados por minha rotina normal de backup), depois vou excluí-los. Em outras palavras, sempre terei backups de alguns dias disponíveis, sem precisar restaurar meu sistema de backup.
Vou colar o script de criação de procedimento armazenado da Microsoft abaixo:
fonte
Você poderia usar um script VB que escrevi exatamente para essa finalidade: https://github.com/ezrarieben/mssql-backup-vbs/
Agende uma tarefa no "Agendador de tarefas" para executar o script como desejar e ele fará o backup de todo o banco de dados em um arquivo BAK e salvará onde você especificar.
fonte
fonte
Se você pode encontrar os arquivos do banco de dados ... "cp DBFiles backup /"
Quase com certeza não é aconselhável na maioria dos casos , mas é muito simples.
fonte