Category

PowerShell

PowerShell, SQL Server

Wszystko o Twoich zadaniach SQL Server Agenta – raport w PowerShell

W pracy administratora nieuniknione są okna mateinancowe, bo co innego zrobić gdy mamy problem i pozostał nam tylko restart serwera? 🙂 Mimo, że to żart to myślę, że każdy chociaż raz, czegoś takiego doświadczył. Najgorsze jest to, że bywa to skuteczne (:.  A poważniej i wracając do tematu, pewne poprawki do OS, Service Packi do SQL Servera, zmiany w rejestrze wymagają restartu.  To tylko proste przykłady ale można wymieniać więcej świadomych przyczyny przez które nasze systemy przez pewien czas przestają być dostępne.

Read more

PowerShell

Feedly Cloud API – darmowa wyszukiwarka [update]

Od dłuższego czasu do śledzenia newsów z swoich ulubionych blogów, portali używam aplikacji Feedly. Najogólniej mówiąc jest to czytnik kanału RSS który umożliwia mi czytanie interesującego contentu w jednym miejscu. Feedly w podstawowej wersji jest aplikacją darmową, umożliwia obserwowanie do 100 źródeł i ta liczba na tą chwile w zupełności mi wystarczaj. Jednak w wersji Basic najbardziej może doskwierać jeden mankament, brak możliwości wyszukiwania.

Read more

PowerShell, SQL Server

Registered Servers – usprawnij swoją prace z SQL Server

Zajmując się Microsoftowymi bazami nieuniknione jest używanie SQL Server Managment Studio a mając pod opieką większą ilość instancji SQL Server bardzo przydatną funkcjonalnością okazuję się Registered Servers. Pozwala zarządzać połączeniami do serwerów poprzez grupowanie, dodawanie opisów do grup oraz serwerów. Mało tego pozwala na wykonywanie zapytań jednocześnie np. konkretnej grupy serwerów ale nie o tym chciałem pisać.

Registered Servers pozwala na stworzenie lokalnej grupy serwerów (Local Server Groups) lub/oraz podłączenie się do centralnego zarządzania serwerami (Central Managment Servers). Niestety druga opcja ma z mojego punktu widzenia pewne ograniczenie, a konkretniej nie ma możliwości centralnego zdefiniowania koloru dla paska statusu połączenia. Ta właściwość połączenia wg. mnie idealnie nadaję się do kontrolowania tego czy pracujemy na środowisku produkcyjnym czy testowy.

Zobaczcie poniżej, od razu widać, że poprzez SQLQuery2 jesteśmy połączeni z produkcyjnym serwerem.

Read more

PowerShell, SQL Server

[PowerShell + SQL] Masowy zrzut T-SQL dla indeksów

W trakcie optymalizacji baz danych pod kątem indeksów należałoby się pozbyć nieużywanych,  kosztowych bądź zduplikowanych indeksów (postaram się o tym napisać więcej w kolejnym wpisie) Przy tego typu zmianach niezbędne jest pozostawienie sobie możliwości wycofania zmian, ja to wykonuję poprzez zrzut skryptu T-SQL dla indeksu.

Przy większej ilości indeksów nie chciałbym robić tego pojedynczo, dlatego posługuję się skryptem których chciałbym się podzieli.

Read more

PowerShell, SQL Server

Redgate – Books

Jak ktoś nie dotarł to warto zapoznać się z zbiorem ebooków od Redgate, szczególnie polecam te dla SQL DBA.

Poniżej mały pipeline w PowerShelll którym pobierzesz wszystkie darmowe pdfy:

 

PowerShell, Windows

Zdarzenia WMI i Windows PowerShell

W WMI istnieje takie zagadnienie jak kwerendy zdarzeń WMI. Istnieją trzy rodzaje kwerend zdarzeń WMI:

  • zdarzenia wewnętrzne,
  • zewnętrzne zdarzenia
  • zdarzenia timera.

W skrócie postaram się przedstawić pierwszy z nich, czyli wewnętrzne zdarzenia które używane są do monitorowania zasobów reprezentowanych przez klasy w repozytorium CIM. Innym słowy, wewnętrzne zdarzenia występują w odpowiedzi na zmiany w standardowym modelu danych WMI. . WMI tworzy zdarzenia wewnętrzne dla obiektów przechowywanych w repozytorium WMI.

Najbardziej przydatne klasy wewnętrznych zdarzeń WMI:

__InstanceCreationEvent

Ta klasę używamy, gdy chcemy, aby otrzymać powiadomienie o tworzeniu instancji Na przykład, możemy użyć tej klasy gdy chcemy otrzymać powiadomienie za każdym razem o zdarzeniu utworzenia nowego procesu.

__InstanceDeletionEvent

Tą klasę używamy gdy chcemy otrzymać powiadomienie o usunięciu instancji. Analogicznie jak powyżej z tą różnicą że otrzymamy powiadomienie o każdym zakończonym procesie.

__InstanceModificationEvent

Ta klasa natomiast jest używana gdy chcemy monitorować zmiany na istniejącej instancji lub zasobie. Na przykład możemy użyć tej klasy gdy chcemy przekazać powiadomienie o zdarzeniu gdy wykorzystanie procesora wykracza poza próg określony przez zapytanie.

Ogólna składnia WQL dla wewnętrznych zdarzeń WMI:

W powyższej składni większość słów kluczowych jest znanych z SQL, oprócz słowa WITHIN które jest używane do określenia interwału sondowania dla zdarzeń. Można powiedzieć również że jest to  maksymalny odstęp w czasie jaki musi minąć zanim powiadomienie o zdarzeniu zostanie dostarczone.

Wartość określona jest jako liczba  w sekundach i jest liczbą zmienną przecinkową. Więc możemy określić wartości mniejszą niż jedna sekunda, trzeba pamiętać jednak że mniejszy niż jedna sekunda np. 0.2 może być przyczyną spowolnienia systemu z względu na intensywne wykorzystywanie zasobów przez zapytanie.

Rejestrując dwa zdarzenia możemy w prosty sposób monitorować podłączanie i odłączanie  urządzeń przenośnych, tworząc prosty dziennik zdarzeń w pliku tekstowym.

Na końcu warto wspomnieć o poleceniu Get-Job  którym możemy pobrać wszystkie zarejestrowane zdarzenia WMI, natomiast poleceniem Remove-Job możemy je usunąć.