Overview

Em aplicativos web SharePoint posso ter várias coleções de sites, cada coleção é por padrão criada dentro da base de dados de conteúdo padrão do aplicativo web. O interessante é que posso mover essas coleções para outras bases de conteúdo. Por que eu faria isso?

  • Para diminuir o tamanho das bases de dados, bases grandes são complicadas de serem gerenciadas;
  • Melhorar a performance, posso ter cada base em um HD diferente no servidor de banco de dados;
  • Boa práticas do SharePoint, bases muito grandes (> 200GB) não são recomendadas.

Solução

Pois bem, o primeiro passo para migrarmos a coleção de sites é criar uma base de conteúdo nova. Para isso podemos usar o CMDLET do SharePoint 2010 para o Power Shell, conforme abaixo, onde o “Name” é o nome da base de dados nova e o “WebApplication” é o endereço do site.

New-SPContentDatabase -Name “WSS_Content_Documentos” -WebApplication http://portal.azeroth.com

Com a nova base criada, o passo seguinte é migrar a coleção de sites da base de dados atual para a nova. O comando abaixo move a coleção de sites “/sites/Documentos” para a nova base, onde “DestinationDatabase” é o nome da base de dados nova e o “confirm” informa ao Power Shell para não solicitar confirmação do usuário.

Move-SPSite http://portal.azeroth.com/sites/Documentos -DestinationDatabase WSS_Content_Documentos -confirm:$false

É necessário reiniciar o IIS para essa alteração ter validade.

Depois da exeução dos scripts acima, a coleção de sites “/sites/Documentos” para a estar hospedada dentro da base de dados de conteúdo “WSS_Content_Documentos”.

Fontes:

Add a content database (SharePoint Server 2010)

Move site collections between databases (SharePoint Server 2010)

Anúncios