Opção Copiar banco de dados não encontrada no SQL Server Management Studio 2008 R2

10

Não consigo ver a opção Copiar banco de dados no SQL Server Management Studio 2008 R2.

Alguém pode me dizer o que está acontecendo, por favor? Copiar banco de dados não encontrado Imagem

navule
fonte
o banco de dados de origem está completamente vazio sem nenhuma linha. Quero copiar apenas a estrutura com tabelas e relacionamentos entre eles para o banco de dados vazio hospedado no servidor. consulte o link blogs.msdn.com/b/jorgepc/archive/2009/01/19/…
2
@windson Em seguida, basta criar um script no banco de dados. Também é uma operação muito mais fácil.
Thomas Stringer
Sim, se estiver vazio, é tão fácil usar a opção de gerar scripts. Não sei por que a opção do assistente quebrado estaria ausente, eu tenho 2008 e 2012 instalados e está nos dois lugares.
Aaron Bertrand

Respostas:

24

Isso porque você está clicando na coisa errada. Não clique direito do bancos de dados , mas você precisa clicar com o botão direito, na verdade, o banco de dados que você deseja copiar, e sob Tarefas não é uma opção para copiar banco de dados ... . Em outras palavras, clique com o botão direito do mouse em Database1 e você verá esta opção em Tarefas .

Porém, conforme o comentário de @ AaronBertrand, é altamente recomendável não usar o Assistente para Copiar Banco de Dados. Basta fazer um backup e restaurar. Será menos dor de cabeça.

Editar : parece que esta opção não está disponível para a edição do SQL Server Express. Ao conectar-se a uma instância do SQL Server Express, você não pode executar o assistente de Copiar Banco de Dados. Isso ocorre pelo fato de os dois principais meios de execução dessa tarefa não estarem disponíveis no SQL Server Express Edition. Primeiro, o método Detach / Reattach depende do SQL Agent (presumivelmente para copiar os dados e arquivos de log da origem para o destino), e o SMO foi removido do 2008 R2 , para que esse método também não esteja disponível no Express 2008 R2.

Thomas Stringer
fonte
11
Estou clicando no banco de dados que quero copiar apenas. Veja o símbolo cilindro dourado na imagem que indica o banco de dados.
@windson Oh, entendo. Ok, eu faria referência à resposta de JNK, talvez ela se enquadre em uma dessas categorias. De qualquer forma, minha recomendação abrangente seria apenas "Gerar scripts ..." para o banco de dados. Será muito mais fácil e menos propenso a erros.
Thomas Stringer
Veja minha edição. Parece que este assistente não está disponível referente a instâncias do SQL Server Express.
Thomas Stringer
O SMO foi introduzido com o Sql Server 2005; o DMO é o recurso obsoleto. O SMO está disponível para edição expressa do Sql Server 2008R2.
Roi Gavish
Curiosamente, o assistente Export Data no SSMS Express diz explicitamente "Para mover ou copiar bancos de dados e seus objetos de uma instância do servidor para outra, cancele esse assistente e use o Assistente para Copiar Banco de Dados".
OR Mapper
9

Consegui fazer uma cópia de um banco de dados usando o SQL Express, escolhendo Backup Database e, em seguida, escolha Restore from database .. sair simples

rekna
fonte
6
Por que os votos negativos? A resposta de Thomas indica que o SQL Server Express não possui o assistente de cópia do banco de dados, portanto o backup e a restauração como um novo nome parecem uma alternativa direta.
Martin Smith
4

Verifique se não está marcado para replicação ou recuperação / suspeita / carregamento / inacessível.

Na página msdn deste assistente:

O Assistente para Copiar Banco de Dados não pode ser usado para copiar ou mover os seguintes bancos de dados.

  • Bancos de dados do sistema

  • Bancos de dados marcados para replicação.

  • Bancos de dados marcados como inacessíveis, carregando, offline, recuperando, suspeito ou no modo de emergência.

JNK
fonte
Oi, Garantei todas as limitações acima para obter a opção de cópia de banco de dados. Mas ainda não consegui encontrar a opção.
navule
11
@windson Na captura de tela da sua pergunta, você parece estar usando a edição do SQL Server Express, então estou curioso para saber por que você aceitou esta resposta quando a segunda metade da resposta de Thomas aparece mais relevante.
Martin Smith
3

Isso é estranho ... mas parece que essa opção foi removida no SSMS 2008 R2. Eu posso vê-lo no SSMS 2005 (btw, o link que você postou está usando o mesmo). Então, acho que sua única opção é criar um script do banco de dados ou restaurar o backup com um nome diferente.

JackLock
fonte
Está no meu SSMS local 2008 R2.
Thomas Stringer
11
Agora isso está ficando realmente estranho. Posso ver esta opção se estiver me conectando à instância de desenvolvimento do SQL Server 2008 R2 ... Mas se estiver me conectando à instância do Express Edition no servidor remoto, não vejo essa opção (não tenho instância expressa local, por isso não estou certeza se é o mesmo caso) .. Gostaria de saber se esta opção é baseado na edição da instância (Dev, Express, empresa etc)
JackLock
6
Eu estou vendo a mesma coisa. Parece que isso não está disponível em uma instância do SQL Server Express.
Thomas Stringer