Fala Pessoal!
Dando sequencia a série de Powershell para DBAs SQL Server neste vídeo em 20 minutos eu mostro um pouco de como fazer algumas coletas principalmente relacionadas a virtualização. Veja o vídeo no link: https://youtu.be/Uw4fDhYUPqI
Conforme eu relatei no vídeo acho essencial para qualquer DBA criar uma série de scripts para ajudar a coletar dados dos servidores. O Powershell é perfeito para isso, pois podemos utilizar um script para coletar diversos servidores ao mesmo tempo.
Veja os scripts abaixo:
Primeira parte
###PS para DBAs SQL Server - Vídeo 10 ###VM, HD, Memória e etc #virtualizador Get-VMHost| Select-Object * Get-Vmhost | Select-Object name, memorycapacity, status #dados da VM get-vm get-vm -Name win* | Select-Object * | Format-Table get-vm -Name win2016 | Select-Object -ExpandProperty harddrives | Select-Object * get-vm -Name win2016 | Select-Object -ExpandProperty harddrives | Select-Object vmname, path, computername #Memória Get-VMMemory -VMName win2016 | Select-Object * C:\VMs\Win2016 #VHD New-VHD -Path "C:\VMs\Win2016\dados.vhdx" -ComputerName surfacebook -Fixed 1Gb #adicona o disco a vm Add-VMHardDiskDrive -VMName win2016 -ComputerName surfacebook -Path "C:\vms\Win2016\dados.vhdx" #consulta o vhd Get-VMHardDiskDrive -VMName win2016 -ControllerType SCSI #remove o disco da vm Remove-VMHardDiskDrive -VMName win2016 -ComputerName surfacebook -ControllerType SCSI -ControllerNumber 0 -ControllerLocation 2 #o disco? get-childitem C:\vms\Win2016 Get-VMHardDiskDrive -ComputerName surfacebook -VMName win2016 | Select-Object * #resize do vhd Resize-VHD -path "C:\vms\Win2016\dados.vhdx" -SizeBytes 1.1GB #start, stop e etc Get-VM get-vm win* Save-VM win10 get-vm win10 start-vm win10 get-vm win10 restart-vm win10 get-vm win10 suspend-vm win10 get-vm win10 Resume-VM win10 get-vm win* | Select-Object status, vmname #valida se o disco esta em estado usável Test-VHD -Path "C:\vms\Win2016\dados.vhdx" #disco local Get-WmiObject -Class Win32_DiskDrive -ComputerName surfacebook | Format-List DeviceID, Status, Index, InterfaceType, Partitions, BytesPerSector, SectorsPerTrack, TracksPerCylinder, TotalHeads, TotalCylinders, TotalTracks, TotalSectors, @{Name="Disk Size (GB)"; Expression={"{0:F3}" -f $($_.Size/1GB)}} #arquivos do SQL #abrir no win10 mstsc /v:win10
Segunda Parte:
<div>Enter-PSSession -ComputerName win2016 -Credential sqlcrespi\administrator</div> <div>###Disco Get-Disk | Select-Object * get-disk -Number 1</div> <div> #Remove todas as particoes clear-disk -Number 1</div> <div>#inicializa o disco Initialize-Disk -Number 1 -PartitionStyle gpt get-disk -Number 1 clear-disk -Number 1 -RemoveData</div> <div>#Partição Get-Disk | Where-Object PartitionStyle -eq "raw"</div> <div>Initialize-Disk -Number 1 -PassThru | New-Partition -AssignDriveLetter -UseMaximumSize | format-volume</div> <div> set-location e: Get-ChildItem</div> <div>Exit-PSSession</div>
Se curtiram o post deem um like no vídeo, assinem o canal, mandem críticas, sugestões e dúvidas.
Abraço, Rodrigo