ATENCIÓN: este contenido tiene más de 2 años de antigüedad y, debido a su temática, podría contener información desactualizada o inexacta en la actualidad.
Una de las tareas habituales de administración de un ambiente de SharePoint es la de tener un cierto control de los tamaños de las bases de datos de contenido disponibles en la granja.
Aunque hay varias posibilidades para obtener esa información, mi recomendación pasa por aprovechar las ventajas que PowerShell nos aporta en las tareas de administración de despliegues SharePoint para obtener de forma rápida y sencilla el espacio ocupado por todas las bases de datos de contenidos disponibles.
Para crear y ejecutar el script es recomendable hacer uso de ISE (Integrated Shell Script Environment) disponible en Windows Server (Versiones 2008 a 2012 R2) y que podemos considerar como un entorno de desarrollo (IDE) que permite definir, probar y ejecutar scripts y que aporta capacidades como soporte de intellisense al escribir código PowerShell, depuración, etc.
A modo de ejemplo, a continuación se detalla el código PowerShell para obtener el tamaño de las bases de datos de contenido de un entorno de SharePoint 2013:
If ((Get-PSSnapIn -Name Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue) -eq $null )
{ Add-PSSnapIn -Name Microsoft.SharePoint.PowerShell }
#Hacemos un buen uso de PowerShell para no penalizar el rendimiento
$host.Runspace.ThreadOptions = "ReuseThread"
#Definición de la función que obtiene el tamaño de las BD's de contenidos
function Get-ContentDBSizes
{
try
{
$spWebApps = Get-SPWebApplication -IncludeCentralAdministration
foreach($spWebApp in $spWebApps)
{
#$spWebApp.Name
$ContentDatabases = $spWebApp.ContentDatabases
foreach($ContentDatabase in $ContentDatabases)
{
$ContentDatabaseSize = [Math]::Round(($ContentDatabase.disksizerequired/1GB),2)
$ContentDatabaseInfo= $spWebApp.DisplayName + "," + $ContentDatabase.Name + "," + $ContentDatabaseSize + " GB"
$ContentDatabaseInfo
#Write-Host " * " $spWebApp.DisplayName "-" $ContentDatabase.Name ": " $ContentDatabaseSize " GB"
}
}
}
catch [System.Exception]
{
write-host -f red $_.Exception.ToString()
}
}
Start-SPAssignment –Global
Get-ContentDBSizes > ContentDBs.csv
Stop-SPAssignment –Global
Remove-PsSnapin Microsoft.SharePoint.PowerShell
Podéis descargaros este script desde la galería de scripts de Microsoft TechNet donde participo como colaborador.
Fecha de publicación: