none
Erro na Restaura;'ao - urgente RRS feed

  • Pergunta

  • Ol[a caros amigos,

    estou desesperado j[a. Me mandaram para a Matriz para restaurar umas bases. 4 Total.

    Fiz duas de +/- 300 a 400MB

    As outras duas, tem em media de 9.2 a 10.5 GB

    E quando tento restaurar alguma das duas, da o seguinte erro:


    O que devo fazer

     Obrigado a todos pela atencao!


    ////////////////////////////************************************************


    ------------------------------
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476

    ------------------------------
    Program Location:

       at Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)
       at Microsoft.SqlServer.Management.SqlManagerUI.SqlRestoreDatabaseOptions.RunRestore()

    ===================================

    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

    ------------------------------
    Program Location:

       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
       at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
       at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages)
       at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)
       at Microsoft.SqlServer.Management.Smo.Restore.SqlRestore(Server srv)

    ===================================

    A transport-level error has occurred when receiving results from the server. (provider: Named Pipes Provider, error: 0 - The specified network name is no longer available.) (.Net SqlClient Data Provider)

    ------------------------------
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=64&LinkId=20476

    ------------------------------
    Server Name: \\ANIM\pipe\sql\query
    Error Number: 64
    Severity: 20
    State: 0


    ------------------------------
    Program Location:

       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
       at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
       at System.Data.SqlClient.TdsParserStateObject.ReadPacket(Int32 bytesExpected)
       at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
       at System.Data.SqlClient.TdsParserStateObject.ReadByte()
       at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
       at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)




    //////////////////////////*************************************************
    sexta-feira, 27 de março de 2009 14:20

Respostas

  • Hmm, melhorou.

    Ha espaço do Drive "C" ?

    Baseado em minha experiencia com Windows Vista....
    Qual a versão do windows?
    O usuário de serviço do SQL Server tem direitos de leitura e gravação neste diretório?
    Se não tiver vc deve adicionar o usuário e dar direitos a ele.

    ****************************************************************************
    Saíndo do contexto acima voltamos a este ponto:
    Faça isso:

    Restore VERIFYONLY from disk='E:\bd auditoria\CSFS024545.bak' WITH NOUNLOAD;  
    go 

    Este é o resultado esperado:

    The backup set on file 1 is valid. 

    Vamos ver se seu backup é válido.

    Estando com o backup válido verifique se ele não foi feito com a opção format com mais de um backup_file assim:

    Restore LABELONLY from disk='E:\bd auditoria\CSFS024545.bak' WITH NOUNLOAD; 

    No resultado disto há um campo chamado FamilyCount, veja se está com número 1.
    Se estiver com número maior que 1 vai aí um exemplo que pode ser util.

    Restore Database NOMEDOSEUBANCO from disk='E:\bd auditoria\CSFS024545.bak',
                                         disk='E:\bd auditoria\CSFS024545_2.bak',
                                         
    disk='E:\bd auditoria\CSFS024545_3.bak';

    Se não for nada disso, acho que não vou conseguir te ajudar :(
    Ricardo Muramatsu ricardomuramatsu@hotmail.com www.muramatsu.com.br
    sexta-feira, 27 de março de 2009 18:28

Todas as Respostas

  •  Aparentemente o NamedPipes não está ativo.

    (provider: Named Pipes Provider, error: 0 - The specified network name is no longer available.) (.Net SqlClient Data Provider)
     

    Por padrão vem desativado no SQL2005, através do Surface Area você pode ativar esta opção (requer um restart do serviço SQL Server).
    **Me corrijam se estiver errado.

    As duas bases que você restaurou estão no mesmo lugar dessas duas que deu erro?, está usando Wizzard do MMS ou está usando T-SQL ?
    Ricardo Muramatsu ricardomuramatsu@hotmail.com www.muramatsu.com.br
    sexta-feira, 27 de março de 2009 14:39
  • Olá grande Ricardo,

    estão no mesmo local.

    o que tem de interessante é a questão das duas MAIORES darem erro.
    as outras pequenas, nada aconteceram.

    O que tem haver o piper com a stiuação??
    P.S: Piper tem haver com tamanho de base a restaurar ou foi coencidencia?

    Estou utilizando o sql server manager mesmo do SQL SERVER 2005. parte VISUAL. não estou operando via codigo.

    obrigado pela atenção!

    Att,
    sexta-feira, 27 de março de 2009 14:53
  •  Faça isso:
    Restore VERIFYONLY from disk='D:\DBA\profiles.bak' WITH NOUNLOAD;  
    go 
    **troque o path do arquivo de backup pelo seu, isto pode demorar um pouco e o resultado tem que ser algo assim:
    The backup set on file 1 is valid. 

    Vamos ver se seu backup é válido.

    Cheque quantos arquivos possui o backup dessa base:
    sexta-feira, 27 de março de 2009 15:03
  • nao entendi...

    olha, o caminho do MDF de onde veio a base é:

    C:\banco\corpore.mdf

    Criei a base no C:\Program Files\Microsoft SQL Server 2005\MSSQL.1\MSSQL\DATA\CorporeCSFS.mdf

    ai quando executo acontece o erro.

    nos outros dois funcionaram normal.
    sexta-feira, 27 de março de 2009 15:11
  • Esse C:\banco\corpore.mdf, é um datafile do banco de dados e não um backup, ou seja, náo da pra fazer um restore de um arquivo que não é backup.
    Um datafile pode ser atachado ao seu servidor, neste caso a base que você criou não se faz necessária. Você pode por exemplo copiar o arquivo C:\banco\corpore.mdf para C:\Program Files\Microsoft SQL Server 2005\MSSQL.1\MSSQL\DATA\, aí você pode dar um atach nele.


    Ricardo Muramatsu ricardomuramatsu@hotmail.com www.muramatsu.com.br
    sexta-feira, 27 de março de 2009 15:22
  • oie ricardo,


    acho que me expressei mal.

    QUero dizer que os Datafiles do banco da empresa que fica em Tocantins, o patch é C:\banco\corpore.mdf

     

    Só que aqui em Salvador, vamos restaurar estes arquivos, sendo que o nosso Patch padrão é : C:\Arquivos de programas\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CorporeCSFS.mdf

    sexta-feira, 27 de março de 2009 17:56
  • Mas vc está tentando fazer um atach ou um restore?
    Se estiver fazendo um restore qual o path do arquivo de backup?


    Ricardo Muramatsu ricardomuramatsu@hotmail.com www.muramatsu.com.br
    sexta-feira, 27 de março de 2009 17:59
  • opa,

    voltei para a empresa, e fiz o teste de restauração na minha maquina e estar normal. Restaurou sem problemas e rapido.

    rpz, é melhor voltarmos para o inicio do Threads.

    Focar no erro que estar sendo apresentado naquele ambiente.

    Sobre o pipes, aqui na minha maquina que não apresentou erro, a configuração de conexão é a seguinte:

    Remote Connections:
    -> Local and remote connections > Using TCP/IP only


    Obrigado a todos pelo apoio!

    Att,

    sexta-feira, 27 de março de 2009 18:04
  • restoure

    E:\bd auditoria\CSFS024545.bak

    os mdf/ldf/ndf fica na pasta:
    C:\Arquivos de programas\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
    sexta-feira, 27 de março de 2009 18:06
  • Hmm, melhorou.

    Ha espaço do Drive "C" ?

    Baseado em minha experiencia com Windows Vista....
    Qual a versão do windows?
    O usuário de serviço do SQL Server tem direitos de leitura e gravação neste diretório?
    Se não tiver vc deve adicionar o usuário e dar direitos a ele.

    ****************************************************************************
    Saíndo do contexto acima voltamos a este ponto:
    Faça isso:

    Restore VERIFYONLY from disk='E:\bd auditoria\CSFS024545.bak' WITH NOUNLOAD;  
    go 

    Este é o resultado esperado:

    The backup set on file 1 is valid. 

    Vamos ver se seu backup é válido.

    Estando com o backup válido verifique se ele não foi feito com a opção format com mais de um backup_file assim:

    Restore LABELONLY from disk='E:\bd auditoria\CSFS024545.bak' WITH NOUNLOAD; 

    No resultado disto há um campo chamado FamilyCount, veja se está com número 1.
    Se estiver com número maior que 1 vai aí um exemplo que pode ser util.

    Restore Database NOMEDOSEUBANCO from disk='E:\bd auditoria\CSFS024545.bak',
                                         disk='E:\bd auditoria\CSFS024545_2.bak',
                                         
    disk='E:\bd auditoria\CSFS024545_3.bak';

    Se não for nada disso, acho que não vou conseguir te ajudar :(
    Ricardo Muramatsu ricardomuramatsu@hotmail.com www.muramatsu.com.br
    sexta-feira, 27 de março de 2009 18:28
  • OLÁ , AQUI É  windows server 2003 R2

    Existe espaço livre de quase 200 GB

    Executei as duas funções, todas deram o resultado esperado! nada fora do normal baseado nos resultados esperados que citou!
    sexta-feira, 27 de março de 2009 18:42