Tworzenie własnej procedury składowanej jako procedury systemowej

Często zdarza się, że gdy korzystamy z wbudowanych procedur składowanych SQL Server to czegoś nam brakuje. Zacznijmy od tego, że takie procedury składowane traktowane jako systemowe procedury SQL server charakteryzują się tym, że: Tworząc procedurę składowaną w systemowej bazie danych master SQL Server z prefixem sp_ Podczas uruchamiania procedury z prefiksem sp_ z poziomu master istnieją pewne subtelności dotyczące używanego kontekstu bazy danych, który ma wpływ na to, jakie dane są zwracane. Utwórzmy testową procedurę składowaną W wyniku uruchomienia takiej procedury uzyskujemy Dowiedz się więcej…

Sprawdzanie statusu IFI (Instant File Initialization)

W SQL Server pliki danych mogą być inicjowane natychmiastowo, jeśli to konkretne ustawienie jest włączone. Natychmiastowa inicjalizacja pliku rezerwuje miejsce na dysku bez wypełniania go zerami. Zamiast tego zawartość dysku jest nadpisywana w miarę zapisywania nowych danych w plikach. Ten mechanizm to IFI – Instant File Initialization czyli natychmiastowa inicjalizacja pliku. Jedną z metod sprawdzenia czy IFI jest włączone czy nie to użycie DMV sys.dm_server_services. Oto skrypt, który może pomóc w określeniu statusu IFI. W odpowiedzi dostaniemy: Jak widać IFI jest włączone Dowiedz się więcej…

Sys.dm_os_ Performance_counters – opis wartości liczników

„Performance counters”, które są elementem SQL Server wykorzystujemy jako narzędzia do monitorowania różnych aspektów kondycji instancji. Jest on dostępny jako dynamiczny widok zarządzania (DMV) w SQL Server, a mianowicie sys.dm_os_ Performance_counters . Dane uzyskiwane z tego widoku mają postać surową, którą dopiero należy odpowiednio zinterpretować, zanim będzie można je zastosować. Wartość kolumny cntr_type wskazuje, w jaki sposób należy interpretować wartości. Typ każdego licznika jest wskazany w kolumnie cntr_type jako wartość dziesiętna. Poniżej przedstawiono różne wartości używane we wszystkich wersjach między SQL Server. Dowiedz się więcej…

Problem z połączeniem do instancji z SSMS

Ostatnio spotkałem się z problemem, który pewnie już rozwiązywałem, ale jakoś uleciało z pamięci. Po zainstalowaniu nowego SSMS w wersji 19.x na instancji, gdzie jeszcze nie było tej wersji przy probie połączenia się dostaje komunikat „A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 – The target principal name is incorrect.)” No cóż szybki przegląd możliwych rozwiązań i udało się. W trakcie łączenia należy wejść we właściwości połączenia i Dowiedz się więcej…

Konwersja znacznika czasu UNIX (bigint) na datetime w SQL Server

Na podstawie Wikipedii dowiadujemy się, że w systemie operacyjnym Unix i pochodnych czas jest przedstawiany jako 32-bitowa liczba sekund, które upłynęły od godziny 00:00:00 w czwartek, 1 stycznia 1970 czyli uniwersalnego czasu koordynowanego (UTC). Na tej podstawie można już przekonwertować znacznik czasu UNIX na typ datetime w SQL Server. Dostajemy następujący wynik Na tej podstawie można pójść dalej i konwertować czasy dla różnych stref czasowych: W rezultacie otrzymamy