Eu quero fazer um backup de determinadas tabelas disponíveis no meu banco de dados em um .bak
arquivo, e tudo isso deve ser feito usando um script T-SQL.
relate perguntas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Como determinar se um Índice é necessário ou necessário
-
Downgrade do SQL Server 2008 para 2005
Os tipos de backup dependem do modelo de recuperação do SQL Server. Cada modelo de recuperação permite fazer backup do banco de dados SQL Server inteiro ou parcial ou de arquivos individuais ou grupos de arquivos do banco de dados. O backup em nível de tabela não pode ser criado, não existe essa opção. Mas existe uma solução para isso
Fazendo backup da tabela do SQL Server possível no SQL Server. Existem várias maneiras alternativas de fazer backup de uma tabela no sql SQL Server
Aqui estou explicando apenas o primeiro descanso que você pode estar sabendo
Método 1 – Backup da tabela sql usando BCP (BULK COPY PROGRAM)
Para fazer backup de uma tabela SQL chamada "Person.Contact", que reside no SQL Server AdventureWorks, precisamos executar o seguinte script, que
RESULTADO
Observação -
Alternativamente , você pode executar o BCP via prompt de comando e digitar o seguinte comando no prompt de comando, ambas as operações executam a mesma atividade, mas eu gosto do método mencionado acima, pois é salvar tipo ao abrir um prompt de comando e digitar.
Método 1:
Se você está preocupado apenas com os dados nas tabelas e que devem ser usados localmente dentro do mesmo banco de dados e servidor, você pode usar a consulta abaixo para fazer backup das tabelas selecionadas:
--- Para a tabela 2
e assim por diante... para n número de tabelas
Esta declaração IRÁ CRIAR as tabelas chamadas newtable1, newtable1,.. assim você não precisa criá-la previamente.
Nota* Este método leva o backup bastante rápido mas a principal desvantagem seria que ele não carrega as Chaves, Índices e Restrições da tabela e o backup é armazenado dentro do banco de dados não em algum lugar externo a um arquivo
Método 2:
Se você deseja fazer backup da tabela em outro servidor para qualquer solução de recuperação de desastres ou prevenção contra perda de dados, você pode criar scripts na tabela usando a opção Gerar scripts em Tarefas.
Primeiro, clique com o botão direito do mouse no banco de dados que contém as tabelas que você deseja fazer backup e escolha Tarefas -> Gerar Scripts
Selecione seu banco de dados na lista cujas tabelas precisam ser copiadas
A próxima tela que aparece é as Opções de Script.
Role para baixo nas opções de script até ver Opções de tabela/exibição. Queremos que o seguinte seja verdadeiro: Verificar restrições, dados de script, chaves estrangeiras, chaves primárias, gatilhos e chaves exclusivas. (Ou você pode escolher o que precisar, é claro). Selecione Next e somos apresentados à tela Select Object Types
Selecione Tabelas e clique em próximo. Por fim, escolha a mesa ou mesas que deseja fazer backup e clique em próximo
Método 3:
Você também pode usar o utilitário bcp para backups de tabela.
Você não pode fazer backup de tabelas específicas para um
.bak
arquivo, você pode exportá-las para csv ou scriptá-las ou usábcp
-las para colocá-las em um arquivo.O que você pode fazer se quiser fazer backup de tabelas específicas (e elas são sempre as mesmas) é movê-las para um grupo separado
file group
e fazer backup desse grupo de arquivos.Consulte Fazer backup de arquivos e grupos de arquivos para obter a documentação.
Por exemplo, se você deseja fazer backup de arquivos ou grupos de arquivos específicos usando T-SQL, você pode usar (no link)
e
Com base no Método 1 da resposta do KASQLDBA:
Crie um banco de dados separado para manter a cópia de backup das tabelas. Modifique a consulta fornecida pelo KASQLDBA para que você selecione a partir de sua tabela original e copie para o banco de dados alternativo.
Você pode criar um script que elimine as tabelas no novo banco de dados e, em seguida, execute o select em comandos para cada tabela necessária. Se você deseja ter índices e outros objetos disponíveis, você pode construí-los em seu novo banco de dados e truncar as tabelas antes de repovoá-las. Se você preferir truncamento, precisará usar instruções insert no lugar de select into.
Esta opção fornecerá um método para criar um arquivo .BAK. Você simplesmente executa um comando de backup do banco de dados depois de preencher as tabelas no novo banco de dados.
Usando o recurso de exportação em massa do SSMS, aqui está o melhor e mais fácil método mencionado
Outro método é usar script/sproc: DumpDataFromTable.sql de: https://github.com/Zindur/MSSQL-DumpTable/tree/master/Scripts
Você tem que passar: nome do esquema e nome da tabela, então caminho de saída onde o script criado será salvo (note a pasta já deve ser criada/existir e o sql tem permissão veja o comentário no sproc).
E se você quiser, pode adicionar uma condição à tabela (o filtro deve começar com AND no momento)
Faça backup de uma única tabela com seus dados de um banco de dados no SQL Server 2008: