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

#CU3 dla SQL Server 2022

W dniu 13 kwietnia 2023 r. został wydany pakiet aktualizacji zbiorczej 3 (CU3) dla Microsoft SQL Server 2022. Ta aktualizacja zawiera 9 poprawek , które zostały wydane po wydaniu aktualizacji zbiorczej 2 programu SQL Server 2022 i aktualizuje składniki w następujących kompilacjach: Problemy w aktualizacji Po zainstalowaniu tej aktualizacji zbiorczej zewnętrzne źródła danych korzystające z drivera ODBC mogą przestać działać. Podczas próby wykonania kwerendy tabel zewnętrznych, które zostały utworzone przed zainstalowaniem tej aktualizacji zbiorczej, pojawi się następujący komunikat o błędzie: Msg 7320, Dowiedz się więcej…

Wyciągnięcie wartości parametrów zapisanych w planach zapytań

Bardzo często gdy przeprowadzamy proces optymalizacji zapytań przeglądamy wygenerowane plany zapytań. Na tej podstawie można dokonać pewnych optymalizacji, ale czy zawsze ? Często mamy doczynienia z procedurami składowanymi czy też sparametryzowanymi zapytaniami ad-hoc. Przeglądając zapytania dochodzimy do wniosku, że tak do końca nie jesteśmy wstanie stwierdzić jak powinien być wygenerowany plan zapytań, rodzi się pytanie czy taki plan jest dobry. Skąd te wątpliwości ? Często w predykatach czy w wywoływanych procedurach mamy użyte zmienne (parametry). Jeśli w klauzuli WHERE używamy np. predykatu Dowiedz się więcej…

Tworzymy login z podanym SID-em – dodatek

W poprzednim artykule „Blog” opisałem cały proces sprawdzania tzw. SID-u i podałem skrypty umożliwiające założenie loginy z wybranym SID-em. Ale czasem w trakcie przenoszenia/migracji na inne instancje trzeba utworzyć login wraz z hasłem, którego nie znamy. Określenie hasła jako wartości zaszyfrowanej jest przydatne do tworzenia skryptów logowania z jednego serwera do wdrożenia na innym serwerze, gdy trzeba upewnić się, że hasła dla każdego logowania są dokładnie takie same na nowym serwerze. Hasło jest określone jako wartość binarna – ta wartość jest „haszowaną” Dowiedz się więcej…

SQL Server 2022 – Funkcja DATE_BUCKET()

Jest to nowa funkcja w SQL Server 2022. Funkcja DATE_BUCKET zwraca wartość typu data/godzina odpowiadającą początkowi każdego segmentu typu data/godzina na podstawie sygnatury czasowej zdefiniowanej przez parametr origin lub jeśli nie podano pochodzenia, jako data pochodzenia zostanie użyta domyślna wartość 1900-01-01 00:00:00.000 Składnia: Datapart Część daty musi być jedną z poniższych typów z listy. Ten parametr kontroluje rozmiar 1 segmentu. Chcesz otrzymać zestawienie faktur za tydzień, miesiąc czy minutę? datepart będzie kontrolować domyślny rozmiar segmentu. Część daty skrót day dd,d week wk,ww Dowiedz się więcej…