Pergunta

Existe uma maneira automática no SQL Server 2005 de criar um banco de dados a partir de várias tabelas em outro banco de dados?Preciso trabalhar em um projeto e só preciso de algumas tabelas para executá-lo localmente, e não quero fazer backup de um banco de dados de 50 GB.

ATUALIZAR

Eu tentei Tarefas -> Exportar Dados no Management Studio e, embora ele tenha criado um novo subbanco de dados com as tabelas que eu queria, ele não copiou nenhum metadado da tabela, ou seja... sem restrições PK/FK e sem dados de identidade (mesmo com Preservar Identidade marcado).

Obviamente preciso disso para que funcione, por isso estou aberto a outras sugestões.Vou tentar essa ferramenta de publicação de banco de dados.

Não tenho o Integration Services disponível e os dois SQL Servers não podem se conectar diretamente entre si, portanto, eles estão fora de questão.

Atualização da atualização

A ferramenta de publicação de banco de dados funcionou, o SQL gerado apresentava alguns bugs, então foi necessária uma pequena edição manual (tentei fazer referência a gatilhos inexistentes), mas depois que fiz isso, estava pronto para prosseguir.

Foi útil?

Solução

Você pode usar o Assistente de publicação de banco de dados por esta.Ele permitirá que você selecione um conjunto de tabelas com ou sem os dados e exporte-o para um arquivo de script .sql que você pode executar em seu outro banco de dados para recriar as tabelas e/ou os dados.

Outras dicas

Crie seu novo banco de dados primeiro.Em seguida, clique com o botão direito nele e vá para o submenu Tarefas no menu de contexto.Você deve ter algum tipo de funcionalidade de importação/exportação.Não me lembro exatamente porque não estou no trabalho agora!:)

A partir daí, você poderá escolher suas fontes de dados de origem e destino e quais tabelas deseja transferir.Ao selecionar suas tabelas, clique no botão avançado (ou opções) e marque a caixa de seleção chamada "preservar chaves primárias".Caso contrário, novos valores de chave primária serão criados para você.

Eu sei que esse método dificilmente pode ser chamado de automático, mas por que você não usa algumas instruções SELECT INTO simples?

Porque eu teria que reconstruir primeiro o esquema, as restrições e os índices.Essa é a parte que quero automatizar... Obter os dados é a parte mais fácil.

Obrigado por suas sugestões a todos, parece que isso é fácil.

O Integration Services pode ajudar a realizar essa tarefa.Esta ferramenta fornece recursos avançados de transformação de dados para que você possa obter o subconjunto exato de dados necessários em um grande banco de dados.

Supondo que tais dados sejam necessários para teste/depuração, você pode considerar aplicar a amostragem de linha para reduzir a quantidade de dados exportados.

  1. Criar novo banco de dados
  2. Clique com o botão direito nele,
  3. Tarefas -> Importar Dados
  4. Siga as instruções
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top