how to find out the sql databases fragmentation using powershell scripts
hi ,
please guide me how find out sql server databases fragmentation using power shell scripts
thanks
rup
something demoed while should going in right direction. requires sql client or @ least shared management objects installed.
## add assemblies add-type -assemblyname "microsoft.sqlserver.connectioninfo, version=10.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91" -erroraction stop add-type -assemblyname "microsoft.sqlserver.smo, version=10.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91" -erroraction stop add-type -assemblyname "microsoft.sqlserver.smoextended, version=10.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91" -erroraction stop add-type -assemblyname "microsoft.sqlserver.sqlenum, version=10.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91" -erroraction stop add-type -assemblyname "microsoft.sqlserver.management.sdk.sfc, version=10.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91" -erroraction stop ## connect sql server $sqlserver = new-object microsoft.sqlserver.management.smo.server('servername') $db = $sqlserver.databases | foreach { $dbname = $_.name $_tables | foreach { $table = $_.name $_.indexes | foreach { $_.enumfragmentation() | { $_.averagefragmentation -gt 30 } | foreach { [pscustomobject] @{ database = $dbname tablename = $table indexname = $_.index_name pages = $_.pages averagefragmentation = $_.averagefragmentation errors = $_.errors } } } } } boe prox
blog | twitter
poshwsus | poshpaig | poshchat | posheventui
powershell deep dives book
Windows Server > Windows PowerShell
Comments
Post a Comment