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.
- 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)