Dany jest parametr, który w raporcie ma być zaprezentowany w następujący sposób:
Chcemy, żeby w moemncie wyświetlenia raportu wszystkie wartości zostały zaznaczone.
Zacząłem od zdefiniowania pomocniczego data setu: Czytaj dalej »
Dany jest parametr, który w raporcie ma być zaprezentowany w następujący sposób:
Chcemy, żeby w moemncie wyświetlenia raportu wszystkie wartości zostały zaznaczone.
Zacząłem od zdefiniowania pomocniczego data setu: Czytaj dalej »
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:
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 »
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 »
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….”
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.
Ważniejsze zdarzenia z pracy IIS są odnotowywane w dzienniku zdarzeń. Pozwala to na analizę aktywności usługi i wykrywanie przyczyn ewentualnych awarii lub gorszej wydajności serwera. Poniżej widać wydane przez administratora polecenie Restart-WebAppPool a następnie odczyt kilku ostatnich zdarzeń z dziennika systemowego.
Jak wiadomo application pool mają za zadanie izolować WebSite od siebie tak aby działanie jednego WebSite nie wpływało niekorzystnie na pozostałe. Z czasem może się okazać, jeden z WebSite, który został umieszczony wraz z innymi we wspólnym application pool powinien zostać przeniesiony do osobnego application pool. Nic trudnego! Wystarczy skorzystać z napędu IIS oraz standardowych i uniwersalnych poleceń Get-ItemProperty oraz Set-ItemProperty:
W powyższym przykładzie WebSite TigerApp został przemieszczony z DefaultAppPool do dedykowanego TigerAppPool.