Respostas:
Você não pode usar o BACKUP DATABASE
comando para fazer backup de uma única tabela, a menos, é claro, que a tabela em questão esteja alocada para ela FILEGROUP
.
O que você pode fazer, como sugeriu, é exportar os dados da tabela para um arquivo CSV. Agora, a fim de obter a definição da sua mesa, você pode fazer o 'script' do CREATE TABLE
script.
Você pode fazer isso no SQL Server Management Studio:
clicando com o botão direito em Banco de dados> Tarefas> Gerar script
Você pode então selecionar a tabela que deseja criar o script e também optar por incluir quaisquer objetos associados, como restrições e índices.
a fim de obter o DATA
junto com apenas o schema
, você tem que escolher Advanced
no set guia opções de script, e na GENERAL
seção de definir o Types of data to script
selectSchema and Data
Espero que isso ajude, mas sinta-se à vontade para entrar em contato comigo diretamente se precisar de mais assistência.
Advanced
na guia definir opções de script e na seção GERAL definir o Types of data to script
select Schema and Data
. Isso não foi óbvio na primeira vez que fiz isso.
Estou usando o utilitário de cópia em massa para obter backups em nível de tabela
Exportar:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
importar:
bcp.exe [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
como você pode ver, você pode exportar com base em qualquer consulta, então você pode até fazer backups incrementais com isso. Além disso, é possível fazer scripts, ao contrário dos outros métodos mencionados aqui que usam SSMS.
Aqui estão as etapas de que você precisa. O passo 5 é importante se você quiser os dados. A etapa 2 é onde você pode selecionar tabelas individuais.
A versão da pilha EDIT não é totalmente legível ... aqui está uma imagem em tamanho real http://i.imgur.com/y6ZCL.jpg
Você pode executar a consulta abaixo para fazer um backup da tabela existente, o que criaria uma nova tabela com a estrutura existente da tabela antiga junto com os dados.
select * into newtablename from oldtablename
Para copiar apenas a estrutura da tabela, use a consulta abaixo.
select * into newtablename from oldtablename where 1 = 2
Isso é semelhante à solução do qntmfred , mas usando um despejo de tabela direto. Esta opção é um pouco mais rápida (consulte os documentos BCP ):
Exportar:
bcp "[MyDatabase].dbo.Customer " out "Customer.bcp" -N -S localhost -T -E
importar:
bcp [MyDatabase].dbo.Customer in "Customer.bcp" -N -S localhost -T -E -b 10000
Se você está procurando por algo como o MySQL DUMP
, então uma boa notícia: o SQL Server 2008 Management Studio adicionou essa capacidade.
No SSMS, apenas clique com o botão direito no banco de dados em questão e selecione Tarefas> Gerar Scripts . Em seguida, na segunda página do assistente de opções, certifique-se de selecionar que deseja os dados em script também , e isso gerará o que equivale a um DUMP
arquivo para você.
Crie um novo grupo de arquivos, coloque esta tabela nele e faça backup apenas deste grupo de arquivos.
Você pode usar o Database Publishing Wizard gratuito da Microsoft para gerar arquivos de texto com scripts SQL (CREATE TABLE e INSERT INTO).
Você pode criar esse arquivo para uma única tabela e pode "restaurar" a tabela completa, incluindo os dados, simplesmente executando o script SQL.
Não sei se vai corresponder ao problema descrito aqui. Tive que fazer um backup incremental da tabela! (Apenas os novos dados inseridos devem ser copiados). Eu costumava projetar um pacote DTS onde.
Eu busco novos registros (com base em uma coluna de 'status') e transferi os dados para o destino. (Por meio de 'Transform Data Task')
Então, acabei de atualizar a coluna 'status'. (Por meio de 'Executar Tarefa SQL')
Tive que consertar o 'fluxo de trabalho' corretamente.
Cada modelo de recuperação permite fazer backup de um banco de dados SQL Server inteiro ou parcial ou de arquivos ou grupos de arquivos individuais do banco de dados. Backups em nível de tabela não podem ser criados .
Você provavelmente tem duas opções, pois o SQL Server não oferece suporte para backups de tabelas. Ambos começariam com o script de criação da tabela. Então você pode usar a opção Script Table - INSERT que irá gerar muitas instruções de inserção, ou você pode usar os serviços de integração (DTS com 2000) ou similar para exportar os dados como CSV ou similar.
O BMC Recovery Manager (anteriormente conhecido como SQLBacktrack) permite a recuperação point-in-time de objetos individuais em um banco de dados (também conhecido como tabelas). Não é barato, mas faz um trabalho fantástico: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
Se você deseja restaurar uma tabela depois que alguém excluiu por engano as linhas dela, você pode dar uma olhada nos instantâneos do banco de dados. Você pode restaurar a tabela com bastante facilidade (ou um subconjunto das linhas) a partir do instantâneo. Consulte http://msdn.microsoft.com/en-us/library/ms175158.aspx
Um aplicativo gratuito chamado SqlTableZip fará o trabalho. Basicamente, você escreve qualquer consulta (que, é claro, também pode ser [selecionar * da tabela]) e o aplicativo cria um arquivo compactado com todos os dados, que pode ser restaurado posteriormente.
O Handy Backup cria arquivos de despejo automaticamente do MS SQL Server, incluindo o MSSQL 2005/2008. Esses dumps são arquivos binários em nível de tabela, contendo cópias exatas do conteúdo específico do banco de dados.
Para fazer um despejo simples com o Handy Backup, siga a próxima instrução:
Agora execute sua nova tarefa clicando em um ícone antes de seu nome ou aguarde o horário agendado. O Handy Backup criará automaticamente um dump para o seu banco de dados. Em seguida, abra seu destino de backup. Você encontrará uma pasta (ou algumas pastas) com seus backups do MS SQL. Qualquer uma dessas pastas conterá um arquivo de despejo em nível de tabela, que consiste em algumas tabelas binárias e configurações compactadas em um único ZIP.
O Handy Backup pode salvar dumps para MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes e qualquer banco de dados SQL genérico com um driver ODBC. Alguns desses bancos de dados requerem etapas adicionais para estabelecer conexões entre o DBMS e o Handy Backup.
As ferramentas descritas acima geralmente descartam bancos de dados SQL como uma sequência de comando SQL em nível de tabela, tornando esses arquivos prontos para qualquer modificação manual necessária.