Eu tenho um banco de dados do SQL Server 2012 com o fluxo de arquivos ativado. No entanto, quando faço backup e tento restaurá-lo em outra instância do SQL Server 2012 (em outra máquina), simplesmente recebo a seguinte mensagem:
Nenhum conjunto de backup selecionado para ser restaurado.
Nem mesmo uma única linha de mais explicações. O que há de errado aqui?
Todos os outros bancos de dados sem fluxo de arquivos estão OK e podem ser restaurados com êxito. É algo relacionado ao filestream? Devo instalar um hotfix ou algo assim.
sql-server
restore
sql-server-2012
Saeed Neamati
fonte
fonte
Respostas:
Eu tive esse problema e acabei tentando restaurar a versão errada do SQL. Se você quiser obter mais informações sobre o que está acontecendo, tente restaurar o banco de dados usando o seguinte SQL:
Isso deve fornecer a mensagem de erro de que você precisa depurar isso.
fonte
No backupset selected to be restored.
RESTORE DATABASE <YourDatabase> FROM DISK='<the path to your backup file>\<YourDatabase>.bak' WITH REPLACE
Meu problema acabou sendo permissões . Estou em uma máquina de desenvolvimento e copiado via Homegroup. De alguma forma, provavelmente com base em onde eu copiei o arquivo, as permissões foram alteradas e o Management Studio não pôde ler o arquivo. Como este é o desenvolvedor, eu apenas dei permissões a Todos para o arquivo bak e, em seguida, pude restaurar com êxito através da GUI.
fonte
.bak
arquivo, criado pelo serviço da Web de upload de arquivos, que está sendo executado no IISApplicationPoolIdentity
Ao executar:
Deu-me o seguinte erro:
Você não pode levar um banco de dados de uma versão SQL mais alta para uma versão mais baixa, mesmo se o nível de compatibilidade for o mesmo no banco de dados de origem e de destino. Para verificar a versão do SQL, execute:
Para ver a diferença, basta criar um banco de dados no servidor SQL de origem e tentar fazer uma restauração a partir do seu arquivo de backup, quando você fizer isso com o SSMS, depois de escolher o arquivo de backup, ele mostrará algumas informações sobre ele, ao contrário de quando você abra-o em um servidor de versão inferior que dirá "nenhum conjunto de backup selecionado para restauração"
Portanto, se você ainda precisar mover seus dados para uma versão inferior do SQL, marque Isto .
fonte
Execute o SQL Server Management Studio como administrador (clique com o botão direito do mouse no atalho / exe, selecione "Executar como Administrador") e tente restaurar.
fonte
Eu pensei que não era estúpido o suficiente para misturar as versões - no entanto, não percebi que no meu novo servidor, uma instância do SQL Server 2005 já estava instalada desde o nascimento, chamada
SQLEXPRESS
. Ao tentar restaurar meu banco de dados de backup do SQL Server 2008 R2 no SSMS 2012 para o diretórioSQLEXPRESS
instância, a lista de conjuntos de backup estava vazia.Eventualmente, percebi que a
SQLEXPRESS
instância no servidor não era uma instância de 2012, mas uma de 2005. Desconectei e me conectei à instância real de 2012 (no meu caso, chamadaSQLEXPRESS2012
), e funcionou (obviamente).fonte
Meu problema era que meu usuário estava no grupo Administradores internos e nenhum usuário com função Sysadmin no SQL Server. Acabei de iniciar o Management Studio como administrador. Dessa forma, foi possível restaurar o banco de dados.
fonte
FYI: Descobri que, ao restaurar, precisava usar as mesmas credenciais (Usuário do SQL) para fazer login no SSMS. Eu tentei a restauração usando uma conta de autenticação do Windows.
fonte
No meu caso, foram as permissões e o fato de eu ter usado "Restaurar arquivos e grupos de arquivos ..." em vez de simplesmente "Restaurar banco de dados ...".
Isso fez a diferença.
fonte
Para mim, é uma questão de privilégio do usuário. Entrei com um usuário e está funcionando bem.
fonte
Para mim, o problema era ter o arquivo .BAK localizado em uma pasta criptografada no servidor. Mesmo com todos os direitos de administrador, eu nunca consegui o SSMS para ler o arquivo. Mover o .BAK para uma pasta não criptografada resolveu meu problema. Observe que após mover o arquivo, você também pode alterar as propriedades do arquivo real para remover a criptografia (clique com o botão direito do mouse, propriedades, avançado, desmarque a opção "criptografar conteúdo para proteger os dados".
fonte
Eu tive o mesmo problema com o SQL Server 2014 (o Management Studio não conseguia ver a pasta na qual o arquivo de backup residia, ao tentar localizá-lo para uma operação de restauração). Esse tópico continha a resposta que resolveu meu problema. Citar:
Espero que ajude alguém.
fonte
No meu caso (nova instalação do servidor sql, usuário recém-criado), meu usuário simplesmente não tinha a permissão necessária. Entrei no Management Studio como sa , depois fui para Segurança / Logins, clique com o botão direito do mouse em meu nome de usuário, Propriedades e, na seção Funções do Servidor, verifiquei
sysadmin
.fonte
Para mim, foi porque o arquivo de backup ainda estava aberto por outro processo. Aqui está o log de eventos:
BackupDiskFile :: OpenMedia: O dispositivo de backup 'X: \ Backups \ MyDatabase \ MyDatabase_backup_2014_08_22_132234_8270986.bak' falhou ao abrir. Erro do sistema operacional 32 (O processo não pode acessar o arquivo porque está sendo usado por outro processo.).
Simplesmente fechar e reabrir o Sql Server Management Studio resolveu o problema (então, obviamente, era o ssms.exe que tinha o controle ..)
fonte
Outro motivo potencial para essa falha parece ser o Google Drive. O Google Drive está compactando arquivos bak ou algo assim. Portanto, se você deseja transferir um backup de banco de dados pelo Google Drive, parece que deve compactá-lo primeiro.
fonte
Se você deseja substituir o banco de dados existente, use completamente a opção WITH REPLACE :
fonte
No meu caso, foi um problema de permissões.
Para o usuário do Windows, eu estava usando não tinha
dbcreator
função.Então eu segui os passos abaixo
sa
se ao servidor SQLSecurity
no Pesquisador de ObjetosLogins
Server Roles
entre asSelect a page
opçõesdbcreator
função para o usuáriofonte
Usando o SQL Server 2012 Express.
Meu erro (no SQL Manager - Diálogo Restaurar Banco de Dados):
No backupset selected to be restored
Além disso, não foram mostrados conjuntos de backups na lista a serem selecionados.
O problema foi que eu havia movido 1 dos 5 arquivos de backup para uma pasta em que o usuário de logon do serviço do SQL Server não tinha permissões - tentei adicionar esse usuário, mas não consegui colocar o usuário NT Service \ MSSQL $ SQLEXPRESS na segurança Lista.
Movi o arquivo na pasta Documentos para o usuário do serviço, e isso permitiu ler todos os arquivos que eu selecionara - 4 naquele momento - e o erro foi alterado para "falta de conjunto de mídias" - e procurei outro arquivo de backup e quando adicionei que consegui restaurar.
As respostas nesta pergunta me ajudaram a procurar os lugares certos e a trabalhar para encontrar uma solução.
fonte
Para mim, foi uma questão de permissão. Instalei o SQL Server usando uma conta de usuário local e antes de ingressar no domínio da minha empresa. Mais tarde, tentei restaurar um banco de dados usando minha conta de domínio que não possui as permissões necessárias para restaurar os bancos de dados do SQL Server. Você precisa corrigir a permissão da sua conta de domínio e conceder permissão de administrador do sistema na instância do SQL Server que você possui.
fonte
Recebi a mesma mensagem de erro, apesar de fazer backup e restaurar na mesma máquina.
A questão era daqui: quando o backup, eu tinha 2 itens na caixa de destino.
Portanto, a correção seria: verifique se há apenas 1 item na caixa 'destino'. Remova todos os outros, se houver.
fonte
Corri para o mesmo problema. Execute o SSMS como administrador, clique com o botão direito do mouse e faça a restauração do banco de dados. Deveria trabalhar.
fonte
Acho que recebo o prêmio pelo maior motivo para obter esse erro. Na caixa de diálogo Restaurar banco de dados, o menu suspenso do banco de dados em Origem está cinza e pensei que estava desativado. Pulei para a lista suspensa do banco de dados em Destino, pensando que era a fonte e fiz uma seleção. Isso fará com que essa mensagem de erro seja exibida.
fonte