none
SQL Server 2012 - Erro de versão 706 RRS feed

  • Pergunta

  • Fala galera.

    Me aconteceu o seguinte, meu computador passou a noite inteira baixando um filme e acho que o Windows Update atualizou meu SQL e sumiu com a minha base de dados que eu gerenciava pelo Management Studio.

    A base se encontra no diretório tudo certinho, só que não reconhece pelo Management.

    Olha o erro que aparece quando eu tento fazer um Attach

    Só lembrando que tenho instalado no meu COmputador o SQL 2008 e o Sql 2012.

    The database 'consultas_dh' cannot be opened because it is version 706. This server supports version 662 and earlier. A downgrade path is not supported.
    Could not open new database 'consultas_dh'. CREATE DATABASE is aborted. (.Net SqlClient Data Provider)

    Já atualizei o Visual Studio e instalei um programa aqui do SQL SSDT alguma coisa assim.

    Pesquisei na internet mas ainda sem sucesso.

    Se alguém puder me ajudar, ficarei grato.

    um grande abraço a todos.

    • Movido Roberson Ferreira _ terça-feira, 30 de outubro de 2012 15:37 (De:SQL Server - Desenvolvimento Geral)
    segunda-feira, 29 de outubro de 2012 17:49

Respostas

  • Então Guilherme, voce disse que tem instalado o SQL 2008 e 2012, então voce tem 2 instancias, certo ? no erro diz que voce esta tentando fazer o attach de um arquivo versão 706 que é do SQL 2012 e a instancia só suporta 662 e anteriores que é 2008 para baixo, voce esta tentando fazer o attach na versão 2008, tente fazer o attach na instancia do sql 2012.

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    segunda-feira, 29 de outubro de 2012 18:26

Todas as Respostas

  • Guilherme, pelo erro, parece que vc esta tentando fazer um attach de uma base do SQL 2012 no SQL 2008, é isto mesmo ? se for isto voce não vai conseguir, não tem como fazer o downgrade de uma base, ou seja de uma versão mais recente para uma mais antiga, somente o contrario.

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    segunda-feira, 29 de outubro de 2012 17:57
  • Puxa vida Alexandre.

    Na realidade a minha base está no 2008, mas sempre utilizava o Management Studio 2012.

    Agora começou com  essa putaria.

    E você como posso resolver esse problema? Se tenho que instalar algum programa ou desinstalar.

    Um grande abraço.

    segunda-feira, 29 de outubro de 2012 18:16
  • Então Guilherme, voce disse que tem instalado o SQL 2008 e 2012, então voce tem 2 instancias, certo ? no erro diz que voce esta tentando fazer o attach de um arquivo versão 706 que é do SQL 2012 e a instancia só suporta 662 e anteriores que é 2008 para baixo, voce esta tentando fazer o attach na versão 2008, tente fazer o attach na instancia do sql 2012.

    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    segunda-feira, 29 de outubro de 2012 18:26
  • Entendi Alexandre.

    Andei pesquisando algumas coisas também, só que eu não estou conseguir acessar a instância do SQL 2012.

    Vamos se dizer assim, estava usando o Management 2012 no SQL 2008. O diretório do meu banco está direcionando para o mesmo do SQL 2008.

    Estou pensando em desinstalar tudo e instalar somente o SQL 2012, estou apanhando aqui, encontrei um tópico interessante e acho que poderá dar certo comigo. dê uma olhada e veja o que acha:

    Galera,
    
    Já desenrolei........obrigado a todos.....pela ajuda.....valeu Gustavo!!!!
    
    
    Achei esse script:
    
    Este script utiliza o comando dbcc rebuild_log para tentar recuperar uma base que esteja em SUSPECT a partir da criação de um novo log.
    
    /****************************************************************************
    Descrição: Este scripts utiliza o DBCC não documentado DBCC REBUILD_LOG
    para "TENTAR" recuperar um banco em SUSPECT ou que esteja sem o arquivo .LOG
    Ou seja,você tem apenas o arquivo .mdf.
    
    Como Executar : Colocar o script no Query Analyzer e executar passo-a-passo
    Selecione o passo 1 e execute, depois selecione o passo 2 e execute e assim
    sucessivamente.
    
    OBS: Altere "MyDatabase" pelo nome do banco a ser recuperado.
    *****************************************************************************/
    
    --ORIENTAÇÕES ANTES DE INICIAR
        --Caso o seu banco já estava no SQL Server e voltou com o status de SUSPECT siga para o PASSO 1
    
        -- Caso você possua apenas o arquivo .mdf que pode por exmplo ter vindo de outro servidor, siga estes passos:
            -- 1)Crie um banco no SQL Server, tendo o arquivo de dados (Data file) o mesmo tamanho que o
            --   seu arquivo .mdf
            --   Ex: Para um arquivo MyDatabase.mdf, crie o banco MyDatabase.                
            -- 2)Efetue um STOP nos serviços do SQL Server
            -- 3)Localize os arquivos .mdf e .ldf do banco criado no ítem 1
            -- 4)Renomeie o arquivo .ldf para .old e substitua o arquivo .mdf criado pelo seu arquivo .mdf
            --   ELES PRECISAM TER O MESMO NOME
            -- 5)Reinicie os serviços do SQL Server. Isto fará com que a base volte com o status SUSPECT,
            --  a partir deste ponto, siga para o PASSO 1 abaixo.    
    
    
    -- PASSO 1: Coloca o banco em Emergency Mode. O Status atual provavelmente será SUSPECT !
    USE MASTER
    GO
    
    EXEC sp_configure 'allow updates', 1
    RECONFIGURE WITH OVERRIDE
    GO
    
    BEGIN TRAN
    
    -- Altera o Status da base para Emergency mode
    UPDATE master..sysdatabases SET status = status | 32768 WHERE name = 'MyDatabase'
    
    IF @@ROWCOUNT = 1
       BEGIN
           COMMIT TRAN
           RAISERROR('emergency mode set', 0, 1)
       END
    ELSE
       BEGIN
           ROLLBACK
           RAISERROR('unable to set emergency mode', 16, 1)
    END
    
    GO
    
    EXEC sp_configure 'allow updates', 0
    RECONFIGURE WITH OVERRIDE
    GO
    -- Fim do PASSO 1
    
    -- PASSO 2: TENTA reconstruir o log para o banco. Pode ser preciso reiniciar o SQL Server.
    dbcc traceon(3604)
    DBCC REBUILD_LOG('MyDatabase')
    
        -- PASSO 2.1
        -- Se der erro no comando acima informando que já existe um arquivo de log para o banco,
        -- execute o comando abaixo informando um caminho para o arquivo de log. APENAS SE DER ESTE ERRO !!!
        dbcc traceon(3604)
        DBCC REBUILD_LOG('MyDatabase','C:\MyDatabase.ldf')
    
    ---- Fim do PASSO 2
    
    -- PASSO 3: Execute uma checagem de integridade neste ponto.
    DBCC CHECKDB ('MyDatabase')
    ---- Fim do PASSO 3
    
    -- PASSO 4: Coloca o banco Operacional. (Isto é claro, caso tenha sido recuperado com sucesso.)
    ALTER DATABASE MyDatabase SET MULTI_USER
    GO
    --- Fim do PASSO 4

    Um grande abraço e muito obrigado pela resposta.


    • Editado Guilherme Triano terça-feira, 30 de outubro de 2012 11:47 erro de digitação
    terça-feira, 30 de outubro de 2012 11:46
  • Então Guilherme, no caso desse script seria se voce tivesse conseguido attachar a base e a mesma depois de attachada não ficasse online.

    Como voce disse que as suas bases estão no seu computador e não em um servidor corporativo onde voce teria muitos problemas devido a quantidade de informações, como voce não consegue acessar a instancia do 2012 aconselharia a desinstalar esta instancia e instalar novamente, se voce quiser manter a 2008 não tem problema, somente na hora da instalação coloque esta instancia 2012 como uma instancia nova nomeada para voce poder diferenciar facilmente, com o 2012 instalado voce não deve ter problemas para fazer o attach da base não importa a versão do sql, sendo 2012, 2008 ou anteriores.


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    terça-feira, 30 de outubro de 2012 11:54
  • Alexandre.

    Lembrando que o banco de dados sumiu, simplesmente sumiu do Management, onde ficam relacionados os bancos, em Database Engine, sumiu, como se alguém tivesse tirado ele de lá.

    Um grande abraço.

    terça-feira, 30 de outubro de 2012 11:58
  • Guilherme, sabe o pq de nao acessar a sua instancia do 2012? Da algum erro? O serviço qdo vc "starta" pelo painel de controle, apresenta algum erro? Já olhou o modo de autenticação do serviço? 

    []´s

    terça-feira, 30 de outubro de 2012 12:34
  • Bom dia Alexandre.

    Consegui aqui, tive que instalar outra instância e pimba, funcionou tranquilamente com o Attach.

    Só que agora surgiu outro problema, não consigo fazer a conexão com o Visusl Studio 2010 usando a Connection String.

    Cara, só dor de cabeça, achei estranho que antes estava funcionando tranquilamente, da noite para o dia parou de funcionar.

    Vai entender. Hehehe

    No VS, aparece o banco certinho no Server Explorer, só que não consigo visualizar as tabelas e nem fazer um Select pelo VS2010.

    Se puder me ajudar mais uma vez, agradeceria.

    quarta-feira, 31 de outubro de 2012 12:29
  • Bom dia Guilherme !

    da algum erro ? qual linguagem que voce esta usando no VS ? voce pode postar sua string de conexão ?


    Alexandre Matayosi Conde Mauricio. Se esta sugestão for útil, por favor, classifique-a como útil. Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.

    quarta-feira, 31 de outubro de 2012 12:33
  • Bom dia Advaldo.

    Como respondido para o  Alexandre. Consegui solucionar esse erro, instalando novamente outra instância do SQL 2012.

    Estou tendo problemas agora com o Visual Studio 2010 Ultimate para conexão com o SQl 2012.

    Se souber algo, poderia me ajudar?

    Um grande abraço.

    quarta-feira, 31 de outubro de 2012 12:33
  • Boa tarde Alexandre.

    Agora não tenho como passar, estou no serviço, mas chegando em casa eu posto novamente com a string de conexão.

    Um grande abraço.

    quarta-feira, 31 de outubro de 2012 15:52
  • Boa tarde ALexandre.

    Sò hoje consegui um tempo para mexer com isso.

    Segue a minha string.

    SqlConnection medico = new SqlConnection(@"Data Source=GUI-TRIANO;Initial Catalog=consultas_dh;Integrated Security=True");
                SqlCommand CadastraMedico = new SqlCommand();
    
                medico.Open();
    
                try
                {
                    CadastraMedico.Connection = medico;
                    CadastraMedico.CommandText = "INSERT INTO medico (nome_medico,especialidade,clinica) VALUES (@nome_medico,@especialidade,@clinica)";
    
                    CadastraMedico.Parameters.AddWithValue("@nome_medico", txtNomeMed.Text);
                    CadastraMedico.Parameters.AddWithValue("@especialidade", txtEspecialidade.Text);
                    CadastraMedico.Parameters.AddWithValue("@clinica", txtClinica.Text);
    
                    CadastraMedico.ExecuteNonQuery();
    

    quinta-feira, 1 de novembro de 2012 16:55
  • Consegui aqui.

    Instalei outra instância e iniciei o serviço pelo services.msc e tudo voltou a funcionar.

    Muito obrigado pelas respostas e um grande abraço.

    terça-feira, 6 de novembro de 2012 11:10