Eu não posso apagar ou restaurar um conjunto de sites ou reparar o banco de dados
-
10-12-2019 - |
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??
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.
Verifique também se o conjunto de sites está bloqueado como só de leitura.
Por favor, dê uma olhada na URL abaixo também,
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.
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.