PowerShell i SQL Server

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:

  1. SQLSERVER:\SQL – folder zawiera obiekty, bazy, tabele itp.
  2. SQLSERVER:\SqlPolicy.
  3. 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:

image

W ramach konsoli mamy do dyspozycji m.in. standardowe komendy:

  1. Get-Location – zwraca nazwę aktualnej lokacji (aliasy: pwd, gl).
  2. Set-Location – zmienia aktualną lokalizację (aliasy: cd,sl).
  3. Get-ChildItem – zwraca listę obiektów w danej lokalizacji (np. listę tabel). Aliasy: dir, ls).
  4. Move-Item – przenosi węzeł (aliasy: mi, move, mov).
  5. Rename-Item – zmienia nazwę węzła (aliasy:rn).
  6. 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:

image

 

Wejdźmy więc do węzłą “Tables”:

>Set-Location Tables

Następnie wylistujmy wszystkie obiekty w Tables:

>Get-ChildItem

image

Jak widać cała baza danych ma strukturę hierarchiczną i możną ją utożsamiać ze zbiorem katalogów na dysku.

Leave a Reply

Your email address will not be published.