Powershell i SQL 14 – Tworzenie bazy danych z wykorzystaniem SMO

2016-11-05

Ponieważ SMO jest warstwą wykorzystywaną także przez SQL Server Management Studio, to praktycznie wszystkie rzeczy jakie można zrobić korzystając z SSMS można też wykonać korzystając z SMO.

Poniższy przykład ilustruje jak utworzyć bazę danych zmieniając jej ustawienia domyślne.  Zaczynamy od załadowania SMO i podłączenia się do określonej instancji SQL

 [Reflection.Assembly]::LoadWithPartialName("Microsoft.SqlServer.SMO")
$SqlServer = New-Object Microsoft.SqlServer.Management.Smo.Server localhost

Oto jeden z najważniejszych momentów. Tworzymy obiekt bazy. Właściwie kolejną instrukcją mogłoby być $db.Create(), ale wtedy baza przyjęłą by wszystkie wartości domyślne

 $db = New-Object Microsoft.SqlServer.management.Smo.Database($sqlserver,’MyTest’)
 Teraz tworzymy obiekt ‘FileGroup’. Ten obiekt należy dołączyć do kolekcji FileGroups bazy danych
 $fileGroup =  New-Object Microsoft.SqlServer.Management.Smo.Filegroup($db,’PRIMARY’)
$db.FileGroups.Add($fileGroup)

Czytaj dalej »

Powershell i SQL 13 – Invoke-SqlCmd

2016-11-05

Polecenia dostępne w  module pssql pozwalają na administracji High Avaialbility, Azure, zarzadzanie backupami oraz na wykonywanie ogólnych zadań związanych po prostu z SQL. Na początku właśnie te dwie ostatnie grupy są najbardziej interesujące.

Chyba najbardziej uniwersalnym poleceniem jest Invoke-Sqlcmd. Polecenie pozwala uruchamiać zarówno polecenia przekazywane jako tekst ale również może uruchamiać skrypty znajdujące się w pliku. Polecenia mogą być uruchamiane na dowolnej instancji SQL ponieważ mamy do dyspozycji parametr ServerInstance. W poniższym przykładzie wyświetlone zostaną loginy SQL wraz z informacją czy mają włączoną opcję dotyczące zgodności z polityką haseł oraz opcję wygasania hasła:

IC-01 Czytaj dalej »

SSRS: Jak zaznaczyć wszystkie wartości domyślne w Multivalue Parameter?

2016-11-04

Dany jest parametr, który w raporcie ma być zaprezentowany w następujący sposób:

result

Chcemy, żeby w moemncie wyświetlenia raportu wszystkie wartości zostały zaznaczone.

Zacząłem od zdefiniowania pomocniczego data setu: Czytaj dalej »

By Rafał Kraik in SSRS

Powershell i SQL 12 – korzystanie z napędu SQLSERVER:\

2016-11-04

Po załadowaniu modułu w systemie pojawił się nowy provider pozwalający na uzyskiwanie dostępu do obiektów bazodanowych tak jakby były one folderami i plikami w specjalnym systemie plików. Obecność providera oraz wirtualnego dysku można sprawdzić poleceniami Get-PSProvider oraz Get-PSDrive:

provider

Po przejściu poleceniem cd na nowy dysk sqlserver:\ można wydawać normalne polecenia jak ls czy cd pozwalające przechodzić przez strukturę sqlserver: Czytaj dalej »

Powershell i SQL 11 – Moduł SQLPS

2016-11-03

Moduł SQLPS to dedykowany moduł pozwalający na korzystanie z SQL z poziomu PowerShell. Składa się on z SQL Server Provider, który dalej udostępnia wirtualny napęd SQLPS: oraz z dedykowanych cmdletów.

Aby rozpocząć korzystanie z SQLPS skorzystaj z polecenia:

Import-Module SQLPS

Podczas ładowaniu modułu możesz zauważyć ostrzeżenie. Nie musisz się nim przejmować, bo komunikat mówi, że nazwy poleceń odbiegają od standardowych (Encode-SqlName i Decode-SQLName), co może powodować trudniejsze odnajdywanie tych poleceń przez użytkownika.

SQLPS zostanie automatycznie załadowany, jeżeli wywołasz go z menu kontekstowego SQL Server Manager. Jednak w tym przypadku ładowany jest bardzo minimalistyczny powershell z modułem SQLPS i wiele funkcjonalności Powershell jest tam niedostępne. Zdecydowanie odradzam używanie tego narzędzia (SQLPS.EXE). Nawet Microsoft zdecydował się już dalej nie rozwijać tego narzędzia. Dalej przedstawiam więc tylko informacje o pełnym środowisku powershell, w którym został załadowany moduł SQLPS. Czytaj dalej »

Wywiad Bill Gates i Steve Jobs…

2016-11-01

Bill Gates: „So, how’s heaven, Steve?”
Steve Jobs: „Great ! It just doesn’t have any walls or fences.”
Bill Gates: „So…?”
Steve Jobs: „So, we don’t need any Windows and Gates. I’m sorry, Bill, I didn’t mean to offend you.”
Bill Gates: „It’s ok Steve, but I heard a rumor.”
Steve Jobs: „Oh, what rumor?”
Bill Gates: „That nobody is allowed to touch Apples there, and there are no jobs in heaven.”
Steve Jobs : „Oh no, definitely there are, but only no-pay jobs. Therefore there’s definitely no Bill in heaven as everything will be provided free….”

By Rafał Kraik in Humor

PowerShell i IIS 19: WebBinding

2016-11-01

Do poprawnego skojarzenia żądania użytkownika z WebSite potrzebne jest tzw. WebBinding. Jest to definicja przypisana do WebSite, która składa się  z: adresu IP (może to być *), portu, protokołu (http lub https) oraz nazwy hosta (tzw. hostheader). Kiedy IIS podejmuje decyzję o przekazaniu żądania do określonej aplikacji, najpierw w oparciu o dane z żądania wyodrębnia informacje o adresie IP, nazwie hosta, protokole i porcie i następnie wyszukuje pasującej definicji WebBinding. Kiedy właściwe WebBinding zostanie odnalezione, żądanie zostaje przekazane do kodu aplikacji z danego WebSite.

Aktualnie zdefiniowane Binding mogą być wyświetlane poleceniem Get-WebBinding, zaś nowe mogą być dodawane za pomocą New-WebBinding.

iis191 Czytaj dalej »