Powershell to interpreter poleceń oferujący dużo większe możliwości niż popularny CMD. Jedną z wyróżniających cech PowerShell’a jest logika obiektowa. Wszystkie produkty serwerowe Microsoft’u mogą być obsługiwane z poziomu PowerShell’a można zatem pisać np. skrypty konfiguracyjne. SQL Server nie jest oczywiście wyjątkiem i również wspiera PS. SQL Server PowerShell wykorzystuje hierarchię obiektów – tabela należy do schematu, schemat do bazy itd. W ramach SQL Server PS dostępne są trzy foldery:
-
SQLSERVER:\SQL – folder zawiera obiekty, bazy, tabele itp.
-
SQLSERVER:\SqlPolicy.
-
SQLSERVER:\SQLRegistration.
Aby rozpocząć pracę z konsolą PS należy np. kliknąć na bazie danych w SQL Management Studio i z menu kontekstowego wybrać Start PowerShell:
W ramach konsoli mamy do dyspozycji m.in. standardowe komendy:
- Get-Location – zwraca nazwę aktualnej lokacji (aliasy: pwd, gl).
- Set-Location – zmienia aktualną lokalizację (aliasy: cd,sl).
- Get-ChildItem – zwraca listę obiektów w danej lokalizacji (np. listę tabel). Aliasy: dir, ls).
- Move-Item – przenosi węzeł (aliasy: mi, move, mov).
- Rename-Item – zmienia nazwę węzła (aliasy:rn).
- Remove-Item – usuwa aktualny węzeł (aliasy:ri, del, rd).
Wykonując polecenie Get-ChildItem (dir) na węźle bazy zostaną zwrócone obiekty, które przechowuje baza – czyli Tables, Triggers, Stored Procedures itp:
Wejdźmy więc do węzłą “Tables”:
>Set-Location Tables
Następnie wylistujmy wszystkie obiekty w Tables:
>Get-ChildItem
Jak widać cała baza danych ma strukturę hierarchiczną i możną ją utożsamiać ze zbiorem katalogów na dysku.