Unable to restore Site Collection

Por vezes quando tentam fazer o restore de uma base de dados do SharePoint, recebem o seguinte erro:

The site collection could not be restored. If this problem persists, please make sure the content databases are available and have sufficient free space.

Fazer o backup das bases de deados de conteúdos através de comandos STSADM pode ser simples e bastante útil, mas por vezes ocorrem erros como o descrito acima.

Estou a falar dos seguintes comandos STSADM para fazer backups e restores:

stsadm -o backup -url <URL name> -filename <file name> [-nositelock] [-overwrite]

stsadm -o restore -url <URL name> -filename <file name> [-hostheaderwebapplicationurl]<Web application URL> [-overwrite]

Encontrei este erro recentemente enquanto migrava um site SharePoint para um novo servidor. Existem várias causas para este problema.

Falta de espaço no disco ou na base de dados

A solução mais óbvia é verificar se há espaço suficiente no disco. Esta solução está expressa na KB 926061.

Não basta espaço livre igual ao tamanho do ficheiro de backup. É necessário espaço suficiente para ficheiros temporários, logs de transações, memória virtual e outro tipo de ficheiros. Certifiquem-se que têm espaço livre na ordem de 1.25 a 2 vezes o tamanho do ficheiro de backup.

É também importante certificarem-se que o tamanho da base de dados não está a ser limitado no servidor SQL.

IIS a travar o site

Também é uma causa frequente para esta mensagem de erro. Neste caso, a solução é simples:

  • Parar o IIS, através de iisreset /stop
  • Executar a operação de restauro
  • Iniciar o IIS novamente, usando iisreset /start ou simplesmente iisreset

Bases de dados com órfãos

Outra causa deste erro é ter órfãos na base de dados de conteúdos do SharePoint. Órfãos são objectos sem pais ou filhos. São inconsistências na base de dados, que podem ser causadas por diversas razões, e.g. upgrades falhados.

A base de dados pode ser reparada usando o comando STSADM databaserepair:

stsadm -o databaserepair -url <url name> -databasename <database name> [-deletecorruption]

Depois de fazer o repair, tentem fazer o restauro novamente.

Site Collections trancadas

Por vezes uma Site Collection está trancada e permanece nesse estado, ou por causa duma operação falhada, ou porque alguém se esqueceu de retirar a tranca.

Podem verificar se a Site Collection está trancada com o comando STSADM getsitelock:

stsadm -o getsitelock -url <URL name>

A tranca pode ser mudada através do comando setsitelock:

stsadm -o setsitelock -url <URL name> -lock {none | noadditions | readonly | noaccess}

Conclusões

Provavelmente existem mais causas para este erro. A mensagem de erro devia ser muito mais informativa sobre o tipo de problema.

Como último recurso, podem tentar adicionar uma nova base de dados de conteúdos na aplicação SharePoint.

Nuno Freitas
Publicado por Nuno Freitas em 07 outubro, 2013

Artigos relacionados