Você não pode restaurar um backup de banco de dados de uma versão superior do SQL Server para uma versão inferior do SQL Server.
Basicamente, eu estava aprendendo o Ms stack de software e trabalhando em um aplicativo que usava um arquivo * .mdf montado na instância local ./SQLEXPRESS.
Em seguida, atualizei todo o software da máquina para o Windows 8 RTM, o Visual Studio 2012 Pro etc. E instalei o SQL Server Express 2012 com a versão mais recente do Management Studio básico. Quando comecei VS2012 ele me pediu para converter o arquivo MDF para a versão mais recente e eu fiz. Para que vale a pena também tenho uma cópia de uma que não foi atualizada / convertida.
Agora, quero implantar e testar esse aplicativo em hospedagem compartilhada e carregar meu banco de dados em seu servidor SQL. Esse serviço de hospedagem usa o SQL Server 2008 R2. Quando eu tento importar um arquivo * .bak criado pelas ferramentas Ms mencionadas acima para este servidor, ocorre um erro da seguinte forma: The media family on device is incorrectly formed. SQL Server cannot process this media family. (severity 16)
Eu li ao redor e parece que é estritamente fazer com incompatibilidade de versão, onde a versão mais antiga do SQL Server não funcionará com arquivos * .bak e outros criados pela nova geração de ferramentas.
A primeira coisa que fiz foi baixar e carregar o SQL Server Management Studio 2008 na minha máquina com o Windows 8, para minha decepção, foi inútil e só me deu erros quando tentei fazer um backup e, em geral, senti que tinha compatibilidade problemas. Talvez porque eu me conectei ao novo servidor local (LocalDB) \ v11.0 em vez do velho ./SQLEXPRESS que eu não tenho mais instalado.
Em geral, devo esperar que as ferramentas do SQL Server 2008 Express e Management funcionem no Windows 8? Caso contrário, quais são minhas opções (além de carregar a antiga pilha de software em uma VM, etc.), talvez haja um modo de compatibilidade com versões anteriores ao criar backups? Ou algum outro software que será executado no Windows 8 e faça um despejo * .bak usando a versão antiga do arquivo mdf?
Você não pode restaurar um backup de banco de dados de uma versão superior do SQL Server para uma versão inferior do SQL Server.
Eu posso me conectar a instâncias do 2005 Express sem problemas da versão mais recente do SQL Server Management Studio (referindo-se ao SQL 2008 R2 no meu caso),. Eu esperaria que isso funcionasse da mesma forma (eu estava errado antes). Eu diria a ele para não atualizar sua instância existente e permanecer no mecanismo mais antigo para que você possa testá-la e implantá-la na sua VM. FWIW, você pode tentar usar "Banco de Dados de Backup @DatabaseName para disk = @FilePath WITH INIT, STATS = 10, CHECKSUM, COMPRESSION;" em vez de usar o backup interno para que ele execute remotamente o proc para você na instância remota. Você costumava (e provavelmente ainda pode) executar mais de uma versão do SQL na mesma máquina (não tenho certeza se isso é suportado ou não). Existe algo impedindo você de fazer isso?