Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



20.07.2020

Baramundi

Pomoc w czasie pandemii.
20.07.2020

Stop infekcjom

CloudGuard
17.07.2020

Analiza zagrożeń

Kaspersky Threat Attribution Engine
17.07.2020

Strażnik danych

QGD-1602P
16.07.2020

Dysk przemysłowy

Transcend MTE352T
16.07.2020

Połączenie sił

Fugaku
16.07.2020

Brama bezpieczeństwa

Check Point 1570R
23.06.2020

PLNOG Online

PLNOG Online
23.06.2020

Nowe zagrożenie

Ramsay

Skrypty i narzędzia DBA

Data publikacji: 16-07-2020 Autor: Bartosz Bielawski
Rys. 1. SQL Prompt...

Zawsze warto mieć pod ręką kilka narzędzi, dzięki którym łatwiej nam będzie odnaleźć się w nowej roli. W tym artykule skupimy się na rozwiązaniach, które bezpłatnie ułatwią nam zarządzanie i automatyzację procesów związanych z zarządzaniem MS SQL. Mowa będzie też o przydatnym, komercyjnym narzędziu, dzięki któremu nawet osoba nieposługująca się biegle składnią T-SQL może tworzyć zapytania czy uruchamiać procedury składowane.

 

Praca w IT wymaga elastyczności. Jednego dnia zajmujemy się technologiami, które znajdują się w opisie naszego stanowiska, a drugiego zmuszeni jesteśmy dostosować się do zmieniającej się sytuacji. W takich momentach warto rozejrzeć się za narzędziami, które pomogą się wdrożyć: zautomatyzują zadania powtarzalne, ułatwią analizę problemów czy codzienne zarządzanie. W tym artykule przyjrzymy się kilku darmowym narzędziom, które mogą pomóc nam w ostatniej z wymienionych sytuacji – gdy z dnia na dzień ktoś przyszyje nam łatkę „DBA”. Omówimy także bardzo przydatne komercyjne narzędzie, dzięki któremu nawet osoba nieposługująca się biegle składnią T-SQL może sprawnie tworzyć zapytania czy uruchamiać procedury składowane.


> Skrypty SQL Server Maintenance Solution


Każdy DBA w pierwszej kolejności musi zadbać o to, by dla wszystkich baz danych były regularnie tworzone kopie zapasowe. Nie możemy też nie zatroszczyć się o indeksy czy spójność danych. Ola Hallengren, MVP ze Szwecji, udostępnia za darmo narzędzie SQL Server Maintenance Solution, dzięki któremu wszystkie te czynności będziemy mogli wykonać bez trudu, w taki sam sposób, w jaki wykonują te czynności administratorzy MS SQL na całym świecie. Nieprzypadkowo rozwiązanie to zostało wielokrotnie wyróżnione tytułem najlepszego darmowego narzędzia w ramach SQL Server Magazine Awards. Narzędzie to znaleźć możemy na stronie ola.hallengren.com oraz na GitHubie. Instalacja wymaga uruchomienia pliku MaintenanceSolution.sql. Warto zastanowić się, czy chcemy skorzystać z domyślnych ustawień – skrypt domyślnie umieści wszystkie obiekty w bazie master, ale niektóre organizacje mogą do tego celu skorzystać z osobnej bazy. Po uruchomieniu skrypt utworzy następujące obiekty:

 

  • procedurę składowaną DatabaseBackup,
  • procedurę składowaną DatabaseIntegrityCheck,
  • procedurę składowaną IndexOptimize,
  • pomocniczą procedurę składowaną CommandExecute, z której korzystają wszystkie uprzednio wymienione,
  • tablicę CommandLog, która przyda nam się wtedy, gdy zdecydujemy się skorzystać z bazy danych w celu zapisywania wykonywanych poleceń.

 

Jeśli potrzebne są jedynie pewne elementy tego zestawu, to można pobrać i uruchomić jedynie skrypty odpowiedzialne za ich tworzenie. Warto przy tym pamiętać, że procedura CommandExecutebędzie nam potrzebna zawsze. W rezultacie nawet w wariancie, kiedy chcemy skorzystać jedynie ze skryptów do kopii zapasowych, i tak musimy pobrać DatabaseBackup.sqloraz CommandExecute.sql. Po zainstalowaniu narzędzia można skupić się jedynie na tworzeniu planowanego w ramach naszego serwera, które regularnie uruchamiać będzie potrzebne nam procedury.


> Skrypty First Responder Kit


Kolejnym darmowym narzędziem, w które warto się zaopatrzyć, jest First Responder Kit. Autor, Brent Ozar, udostępnia to rozwiązanie za darmo pod adresem brentozar.com/first-aid. W paczce, oprócz samych skryptów do instalacji narzędzia, znajdziemy też eBook dotyczący instalacji MS SQL oraz dokument ułatwiający przygotowanie infrastruktury z wymaganą odpornością na poszczególne czarne scenariusze, w zależności od wymaganych czasów reakcji. Wchodzące w skład zestawu procedury składowane służą ocenie „zdrowia” naszego serwera, czy to zdrowia ogólnego, czy to przyczyn występujących aktualnie, nieoczekiwanych problemów. Na zestaw składają się następujące procedury składowane:

 

  • sp_Blitz,
  • sp_BlitzFirst,
  • sp_BlitzIndex,
  • sp_BlitzCache,
  • sp_BlitzWho,
  • sp_BlitzQueryStore,
  • sp_BlitzBackups,
  • sp_BlitzLock.

 

First Responder Kit pomoże nam zadbać o to, by ustawienia naszego serwera były optymalne. W tym celu skorzystać możemy z procedury sp_Blitz. Kolejna procedura przyda nam się zawsze w sytuacji, gdy użytkownicy zaczną się skarżyć na wydajność naszego serwera. Procedura sp_BlitzFirstszuka problemów w bieżących operacjach, użyciu pamięci, różnego rodzaju blokadach, wskazując potencjalne źródło kiepskiej wydajności. Pozostałe procedury pozwolą nam odnaleźć blokady, problemy z indeksami czy kopiami bezpieczeństwa.


Podczas instalacji narzędzia mamy trzy możliwości: zainstalować wszystko (korzystając ze skryptu Install-All-Scripts.sql), zainstalować podstawowe komponenty bez narzędzi dla Query Store (za pomocą skryptu Install-Core-Blitz-No-Query-Store.sql) lub podstawowe komponenty z uwzględnieniem Query Store (skrypt Install-Core-Blitz-With-Query-Store.sql). W zależności od tego, czy korzystamy z Query Store, możemy więc wybrać opcję pasującą do naszego środowiska. Skrypt instalacyjny stworzy wszystkie obiekty w obecnie wybranej bazie danych, zamiast więc modyfikować skrypt w zależności od potrzeb, musimy uprzednio zadbać o to, by wybrać właściwą docelową bazę danych.


> Moduł dbatools


Jeśli zespół większość zadań administracyjnych wykonuje za pomocą PowerShella, to oprócz wspomnianych wcześniej narzędzi przydatne będą też moduły, które umożliwią nam zarządzanie MS SQL z użyciem PowerShella właśnie. Popularny jest moduł dystrybuowany razem z Microsoft SQL Server Management Studio (obecnie za pomocą PowerShell Gallery), czyli SqlServer, ale lepszym wyborem może się dla wielu okazać tworzony przez społeczność moduł dbatools. Znajdziemy go również w PowerShell Gallery.

 

[...]

 

Autor zawodowo zajmuje się informatyką. Jest Microsoft MVP w dziedzinie PowerShella, blogerem oraz jednym z moderatorów forum dotyczącego skryptów w serwisie TechNet. Autor książki „Windows PowerShell 5.1 Biblia”.

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"