locked
Restaurar um arquivo .mdf com Usuario e senha sql server 2008 RRS feed

  • Pergunta

  • Bom dia Pessoal

     

    Estou com um problema mei serio aqui.

    Tenho um Cliente com banco sql server 2008, o computado do mesmos deu ____ consegui recuperar os arquivos .mdf e .ldf

    O problema que ele estava rodando em uma rede, o mesmo esta com usuario e senha.

    quando tento restaurar da erro, acesso negado.

    ja tentei varias maneiras

    Ja usei varios recurso para recuperar o mesmo. o ultimo foi este.

    exec sp_attach_db 'FloriculturaRestaurado', 'C:\bd\Floricultura.mdf', 'C:\bd\Floricultura_log.LDF'
    
    

    da Este erro:

    No possvel abrir o arquivo fsico "C:\bd\Floricultura.mdf". Erro do sistema operacional 5: "5(Acesso negado.)".

    O que esta errado no meu Script ???

    Agradeço a ajuda

     

    t+

     


    Nilson Morgenstern
    sexta-feira, 10 de setembro de 2010 14:27

Respostas

  • Nilson,

    O seu MDF pode esta corrompido!
    vc tem backup desta base? caso sim menos mal... restaura o backup.

    se vc não tem bkp, ai  precisa executar um software que recupera mdf, faça uma pesquisa no Bing ou Google por "MDF REPAIR" vai te exibir um monte de softwares que faz isto.. um deles é http://www.mdf.databaserepair.net/

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    segunda-feira, 13 de setembro de 2010 10:33
    Moderador

Todas as Respostas

  • Nilson,

    o usuario que esta executando o serviço do SQL esta sem acesso do C:\BD, vc deve conceder acesso de leitura e escrita

    att.
    Marcelo Fernadnes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    sexta-feira, 10 de setembro de 2010 15:03
    Moderador
  • Obrigado pela ajuda Marcelo

    agora mudou o erro esta dando este erro:

    Mensagem 824, Nvel 24, Estado 6, Linha 1

    O SQL Server detectou um erro de E/S baseado em consistncia lgica: opo de proteo invlida. Isso ocorreu durante um ler da pgina (0:0) na ID de banco de dados '0' do deslocamento 0000000000000000 do arquivo 'C:\bd\Floricultura.mdf'. Mensagens adicionais do log de erros ou do log de eventos do sistema do SQL Server podero fornecer mais detalhes. Este um erro grave que ameaa a integridade do banco de dados e deve ser corrigido imediatamente. Faa uma verificao completa da consistncia do banco de dados (DBCC CHECKDB). Este erro pode ter sido causado por vrios fatores. Para obter mais informaes, consulte os manuais online do SQL Server.

     


    Nilson Morgenstern
    sexta-feira, 10 de setembro de 2010 15:09
  • Nilson,

    Acredito que o seu arquivo .MDF ou o LDF estão corrompidos...
    Qual a versão do SQL Server que originou o MDF e qual a versao do SQL que vc esta restaurando? se a versao que originou for maior que a versao que vc esta tentando restaurar vai dar erro... ex. restaurar um MDF do 2008 no 2005 (isto não é suportado)

    ou se o seu vc ativou criptografia server origem e esta tentando restaurar em outro servidor sem a master key.

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    sexta-feira, 10 de setembro de 2010 15:34
    Moderador
  • Bom Marcelo

     

    Ele foi criado no SQL Server 2008 Entreprise e o mesmo possue Usuario e senha.

    Se o ldf estiver corompido não tem como restaurar este Banco ???

     

    T+

     


    Nilson Morgenstern
    sexta-feira, 10 de setembro de 2010 18:03
  • Existem umas ferramentas de terceiro que fazem um repair no mdf, nao me lembro os nomes mas em uma pesquisa rápida no Bing vc terá algumas ferramentas...

    o seu mdf foi criado no 2008 e vc esta tentando attachar no 2008?
    foi ativado o TDE no servidor antigo?

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    sexta-feira, 10 de setembro de 2010 19:08
    Moderador
  • Bom Marcelo

    Sim crie no sql 2008 e estou tentando attachar no 2008.

    quando tento fazer isto de forma direta pelo Menagemant da o erro abaixo:

    ===================================
    
    Falha ao recuperar dados para essa solicitação. (Microsoft.SqlServer.Management.Sdk.Sfc)
    
    ------------------------------
    Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
    
    ------------------------------
    Local do Programa:
    
      em Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.Process(Object connectionInfo, Request request)
      em Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.GetOriginalDatabaseName(String primaryFilePath)
      em Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.PopulatePrimaryFileData(String primaryFilePath)
      em Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile..ctor(SqlManagementUserControl parent, CDataContainer dc, String fullPath, String databaseOwner, ServerConnection connectionInfo)
      em Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.IsSelectedFileValid(BrowseFolder dlg)
    
    ===================================
    
    Ocorreu uma exceção ao executar um lote ou uma instrução Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
    
    ------------------------------
    Local do Programa:
    
      em Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(String sqlCommand, SqlCommand& command)
      em Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataReader(String query, SqlCommand& command)
      em Microsoft.SqlServer.Management.Smo.DataProvider.SetConnectionAndQuery(ExecuteSql execSql, String query)
      em Microsoft.SqlServer.Management.Smo.ExecuteSql.GetDataProvider(StringCollection query, Object con, StatementBuilder sb, RetriveMode rm)
      em Microsoft.SqlServer.Management.Smo.ExecuteSql.ExecuteWithResults(StringCollection query, Object con, StatementBuilder sb)
      em Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillData(ResultType resultType, StringCollection sql, Object connectionInfo, StatementBuilder sb)
      em Microsoft.SqlServer.Management.Smo.SqlObjectBase.FillDataWithUseFailure(SqlEnumResult sqlresult, ResultType resultType)
      em Microsoft.SqlServer.Management.Smo.SqlObjectBase.BuildResult(EnumResult result)
      em Microsoft.SqlServer.Management.Smo.PrimaryFile.GetData(EnumResult erParent)
      em Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData()
      em Microsoft.SqlServer.Management.Sdk.Sfc.Environment.GetData(Request req, Object ci)
      em Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.GetData(Object connectionInfo, Request request)
      em Microsoft.SqlServer.Management.Sdk.Sfc.Enumerator.Process(Object connectionInfo, Request request)
    
    ===================================
    
    E:\BancoMDF Orquidea Negra\Floricultura.mdf não é um arquivo de banco de dados primário. (.Net SqlClient Data Provider)
    
    ------------------------------
    Para obter ajuda, clique em: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=5171&LinkId=20476
    
    ------------------------------
    Nome do Servidor: NCMD
    Número do Erro: 5171
    Gravidade: 16
    Estado: 1
    Número da Linha: 1
    
    
    ------------------------------
    Local do Programa:
    
      em Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)
      em Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteReader(String sqlCommand, SqlCommand& command)
    
    
    

    Me da a mensagem que não é um banco de dados Primario.

    Se puder ma passar o nome da ferramenta para reparer o banco agradeço

     

    abraço

    T+

     


    Nilson Morgenstern
    sexta-feira, 10 de setembro de 2010 23:40
  • Nilson,

    O seu MDF pode esta corrompido!
    vc tem backup desta base? caso sim menos mal... restaura o backup.

    se vc não tem bkp, ai  precisa executar um software que recupera mdf, faça uma pesquisa no Bing ou Google por "MDF REPAIR" vai te exibir um monte de softwares que faz isto.. um deles é http://www.mdf.databaserepair.net/

    att.
    Marcelo Fernandes


    MCP, MCDBA, MCSA, MCTS.
    Se útil, classifique!!!
    Me siga no twitter: @marcelodba
    segunda-feira, 13 de setembro de 2010 10:33
    Moderador