Porównywanie danych – cz. II (dane właściwe)

W pierwszej części poruszałem temat porównywania struktury bazy danych. Drugim ważnym zagadnieniem jest porównywanie zawartości bazy danych. Istnieje kilka sposobów na wykonanie tego zadania, ale chciałbym zaprezentować w tym wątku narzędzie dołączane bezpłatnie do Microsoft SQL Server. Narzędzie to nosi nazwę tablediff. Jest to narzędzie, które dokonuje porównania dwóch tabel wiersz po wierszu w miejscu…

Porównywanie danych – cz. I (struktura i metadane)

Czasami zachodzi potrzeba porównania danych pochodzących z dwóch różnych źródeł. Jako przykładowe scenariusze potrzeby porównania danych można wskazać: integracja danych pochodzących z różnych źródeł: porównanie danych pochodzących z pierwotnego systemu do danych w systemie wtórnym migracja systemu do nowszej wersji – porównanie danych w starym i nowym systemie porównanie danych w obszarze przejściowym (tzw. stage)…

Charakterystyka budowy hurtowni danych i możliwości implementacji wymiarów różnego typu

Praktyka bez teorii jest możliwa, ale najczęściej przypomina metodę prób i błędów prowadzącą do właściwego rozwiązania. Jestem przekonany, że wyważanie otwartych drzwi nie jest najlepszym pomysłem i lepiej jest skorzystać z wiedzy i doświadczenia innych. W ostatnim czasie wraz z Tomaszem Liberą – bardzo aktywnym działaczem PLSSUG (obecnie członek Zarządu), a także wykładowcą na Wyższej Szkole Zarządzania i…

Wysyłanie powiadomień w SQL Server – cz. III (powiadomienia ręczne z wykorzystaniem SQL Server Agent)

W poprzednich dwóch postach pokazywałem jako skonfigurować Database Mail i jak skorzystać z procedury składowanej msdb.dbo.sp_send_dbmail. Jak jednak wykorzystać praktycznie zdobytą wiedzę? W przypadku zadań SQL Server Agenta definiuje się kroki i akcję, która ma zajść po ukończeniu danego kroku w przypadku powodzenia i braku powodzenia. Spróbujmy sobie wyobrazić zatem zadanie, w którym głównym krokiem…

Wysyłanie powiadomień w SQL Server – cz. II (wykorzystanie funkcji msdb.dbo.sp_send_dbmail)

W poprzedniej części opisałem jak skonfigurować Database Mail. W jaki sposób jednak korzystać z tej usługi? W jaki sposób wysyłać e-maile zarówno użytkownikom systemu jak i użytkownikom technicznym? Jedna z metod została już zaprezentowana i polega na wykorzystaniu procedury składowanej msdb.dbo.sp_send_dbmail. Funkcja ta wymaga podania nazwy profilu, z którego będzie wysyłany e-mail, adres odbiorcy lub…

Funkcje agregujące i klauzule GROUP BY oraz HAVING

W ramach współpracy międzyblogowej zostałem zaproszony do napisania wpisu na seequality.net w ramach serii Od 0 do 500 TSQL. Blog seequality.net prowadzony jest przez zaprzyjaźnionych specjalistów Business Intelligence, pracujących głównie w obrębie platformy danych Microsoftu. Mój wpis poświęcony jest tematyce grupowania przy użyciu klauzuli GROUP BY z wykorzystaniem Microsoft SQL Server. Wyjaśniam także odwieczny problem początkujących dotyczący…

Najpotrzebniejsze informacje na temat indeksów

Indeksy stanowią niezwykle ważny obiekt bazodanowy, którego zadaniem jest przyspieszenie dokonywania operacji na danych. Podstawowe informacje na temat indeksów przedstawiłem w formie wypunktowania poniżej. Wpis ten nie jest wytłumaczeniem od początku do końca jak działają indeksy, ponieważ takich wpisów istnieje wiele i można bez problemu takie odnaleźć. Wpis ten stanowi po prostu luźne notatki na…

Tabele wirtualne w operacji UPDATE w SQL Server

Pod maską SQL Server kryje niespodziankę odnośnie update ‚u rekordów. Zobaczmy to na przykładzie – zacznijmy od przygotowania prostej tabelki.

Drugim krokiem będzie update pola „nazwa” dla rekordu o ID=1.

Wyświetliliśmy w tym przypadku za pomocą tzw. tabeli wirtualnej nowowstawiony rekord. Przywróćmy starą nazwę dla rekordu o ID=1. Następnie zweryfikujmy jaki rekord zostaje usuwany przy operacji…

Jak sprawdzić czy dany login jest przypisany do konkretnej roli serwerowej?

Pytanie wydaje się banalne, ale czasami okazuje się, że dany użytkownik np. może przynależeć do grupy domenowej lub dziedziczyć uprawnienia nie wprost. W tym przypadku warto skorzystać z funkcji IS_SRVROLEMEMBER:

Inne role, to: sysadmin, serveradmin, dbcreator, setupadmin, bulkadmin, securityadmin, diskadmin, public, processadmin. Zakładając, że mamy dwa loginy, z których jeden jest przypisany do roli sysadmin, a drugi…

Zastosowanie synonimów

Rzadko wykorzystywaną możliwością w SQL Server jest tworzenie tzw. synonimów. Sama nazwa tego typu obiektu dobrze obrazuje sens ich stosowania. Synonimy wykorzystywane są do nazywania innych obiektów bazodanowych. Dzięki temu możemy uprościć powoływanie się na inne obiekty. Ciekawym zastosowaniem synonimów może być np. następujący przypadek. Wyobraźmy sobie dość klasyczną instancję SQL Server z jedną bazą…