Criando backups de banco de dados usando as ferramentas do SQL Server 2012 que podem ser importadas pelo SQL Server 2008 R2

2

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?

    
por LaserBeak 05.09.2012 / 01:14

2 respostas

7

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.

    
por 05.09.2012 / 01:27
0

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?

    
por 05.09.2012 / 01:25