Pergunta

Quando eu tentar fazer uma restauração de um conjunto de sites,

restore-spsite -Identity https://xx/10014628/ -Path D:\SiteCollectionBackups\10014628.bak -Force -Confirm

Eu recebo:

restore-spsite : <nativehr>0x80070003</nativehr><nativestack></nativestack>
At line:1 char:1
+ restore-spsite -Identity https://xx/sites/100146 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (Microsoft.Share...dletRestoreSite:SPCmdletRestoreSite) [Restore-SPSite], DirectoryNotFoun 
   dException
    + FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletRestoreSite

Cheio de Erro de log

System.IO.DirectoryNotFoundException: <nativehr>0x80070003</nativehr><nativestack></nativestack>, StackTrace:   
 at Microsoft.SharePoint.SPWeb.InitWebPublic()    
 at Microsoft.SharePoint.SPWeb.get_ID()    
 at Microsoft.SharePoint.Administration.SPSiteCollection.Restore(String strSiteUrl, String strFilename, Boolean bOverwrite, Boolean bGradualDelete, Boolean hostHeaderAsSiteName, Boolean preserveSiteId)    
 at Microsoft.SharePoint.PowerShell.SPCmdletRestoreSite.InternalProcessRecord()    
 at Microsoft.SharePoint.PowerShell.SPCmdlet.ProcessRecord()    
 at System.Management.Automation.CommandProcessor.ProcessRecord()    
 at System.Management.Automation.CommandProcessorBase.DoExecute()    
 at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)    
 at System.Management.Automation.PipelineOps.InvokePipeline(Object input, Boolean ignoreInput, CommandParameterInternal[][] pipeElements, CommandBaseAst[] pipeElementAsts, CommandRedirection[][] commandRedirections, FunctionContext funcContext)    
 at System.Management.Automation.Interpreter.ActionCallInstruction`6.Run(InterpretedFrame frame)    
 at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)    
 at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)    
 at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame)    
 at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0)    
 at System.Management.Automation.DlrScriptCommandProcessor.RunClause(Action`1 clause, Object dollarUnderbar, Object inputToProcess)    
 at System.Management.Automation.CommandProcessorBase.DoComplete()    
 at System.Management.Automation.Internal.PipelineProcessor.DoCompleteCore(CommandProcessorBase commandRequestingUpstreamCommandsToStop)    
 at System.Management.Automation.Internal.PipelineProcessor.SynchronousExecuteEnumerate(Object input, Hashtable errorResults, Boolean enumerate)    
 at System.Management.Automation.Runspaces.LocalPipeline.InvokeHelper()    
 at System.Management.Automation.Runspaces.LocalPipeline.InvokeThreadProc()    
 at System.Management.Automation.Runspaces.PipelineThread.WorkerProc()    
 at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    
 at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)    
 at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)    

Se eu tentar

remove-spsite -Identity https://xx/sites/10014628/ -Confirm -Force -Verbose

Eu recebo o mesmo erro.

Se eu tentar:

stsadm -o databaserepair -url "https://xx" -databasename "ContentDatabases"

então, eu não posso remover esse conjunto de sites, nem a repará-lo, nem restaurá-lo.Alguma idéia??

Foi útil?

Solução

Eu recentemente se deparou com o exato mesmo problema em SP 2013 onde meu Dev máquina tinha a instalar o RTM e o servidor de destino junho de CU.Acabamos de copiar o Conteúdo do Banco de dados do SQL diretamente, recolocar e de associá-lo a um Aplicativo Web e funcionou perfeitamente.

Parece que o comando Restore não é mais compatível e não pode ser invocado para restaurar a que se estabelece entre diferentes níveis de patch (para todos lá fora, é melhor que o backup do SQL diretamente, em vez de ter uma Cópia de segurança-SPSite rotina), mas isso pode ter sido uma questão isolada.

Outras dicas

Parece que em ação anterior, um conjunto de sites de referência já tenha sido criado em algum lugar na web de configuração da aplicação.Apesar de não haver uma referência, os arquivos necessários para renderizar a página não estão lá.Também não há possibilidade de remover a existência do conjunto de sites.Quando você tentar fazer algo com o conjunto de sites, por exemplo, tente excluí-lo, você sempre recebe a seguinte exceção:

System.IO.DirectoryNotFoundException, <nativehr>0x80070003</nativehr><nativestack></nativestack>

Uma solução é remover o banco de dados de conteúdo, e recriar o banco de dados de conteúdo do conjunto de sites e com o PowerShell.Usando a GUI vai quebrar as coisas novamente.

Se isso não funcionar, eu encontrei 2 outras soluções alternativas para o problema:

Excluir o aplicativo web e recriá-lo.Esta não é uma boa solução, porque você cria o tempo de inatividade, perder os caminhos gerenciados, configuração, etc.Quando você encontrar o erro no Processamento de "..." a página, deixe a janela aberta para preservar a sua sessão.Corrigir o problema que aparece no log, e simplesmente aperte F5 e usar a mesma sessão.Isto irá completar o processo de criação de sites e não jogue qualquer exceção.

Origem

Verifique também se o conjunto de sites está bloqueado como só de leitura.

Por favor, dê uma olhada na URL abaixo também,

http://support.microsoft.com/kb/2488967

fazer isso:

abra o powershell como administrador (executar como administrador):

restore-spsite -Identity https://xx/10014628/ -Path D:\SiteCollectionBackups\10014628.bak -Force -Confirm

alterar a unidade D para uma unidade local, como C, mas não coloque o arquivo na raiz, como por C:\10014628.bak ao invés de tê-lo dentro de uma pasta C:\SiteCollectionBackups\10014628.bak deve fazer o truque

também gostaria de observar e perguntar a você atualizado sharepoint 2013 recentemente?se assim:

Depois de instalar as correções que você precisa para executar o SharePoint 2013 Assistente de Configuração de produtos em cada uma das máquinas no farm.

http://blogs.technet.com/b/stefan_gossner/archive/2013/08/14/august-2013-cu-for-sharepoint-2013-has-been-released.aspx

caso contrário, ele iria trazer erros como o que você tem!

Eu não tenho certeza se estou atrasado ou não.

este erro vem para uma das seguintes razões:

  • Cópia de segurança do SharePoint server versão é diferente do que a restauração do servidor de versão

  • O arquivo de backup está corrompido

  • A conta de usuário usada é não ter a permissão sobre o conteúdo do banco de dados para o aplicativo web que você deseja restaurar na.

Para obter o id de site use o powershell.Curiosamente, no meu caso, eu posso criar o powershell objeto.E. g.

$s=Get-SpSite <url>
$s.ID  

Ir para C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN

Em seguida, executar

STSADM -o deleteconfigurationobject -id <site id>

Uma vez, caso isso funcionou

Ou você pode tentar excluir

$s.Delete 

Se tudo falhar, desanexar e anexar novamente o banco de dados de conteúdo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a sharepoint.stackexchange
scroll top