niedziela, 29 lipca 2018

[PL] SQL Server Integration Services (SSIS) w praktyce - transformacja Audit

Dzisiaj publikuję kolejne nagranie z cyklu "SQL Server Integration Services (SSIS) w praktyce". Tym razem, przedstawiam zagadnienia dotyczące wykorzystania transformacji Audit.


niedziela, 22 lipca 2018

[PL] Czy i jak ustawić opcję Lock Pages in memory dla SQL Server?

System Windows pozwala określić, które konta mają przechowywać dane tylko w pamięci fizycznej, bez możliwości przenoszenia danych do pliku stronicowania. Warto rozważyć stosowanie tej opcji w odniesieniu do konta serwisowego, na którym pracuje SQL Server.  Wspomniana polisa nazywa się Lock pages in memory i znajduje się w konsoli secpol.msc w gałęzi: Security Settings \ Local Policies \ User Rights Assignment.



niedziela, 20 maja 2018

[PL] SQL Server Integration Services (SSIS) w praktyce - transformacja Sort

Dzisiaj publikuję kolejne nagranie z cyklu "SQL Server Integration Services (SSIS) w praktyce". Tym razem, przedstawiam zagadnienia dotyczące wykorzystania transformacji Sort.


sobota, 12 maja 2018

[PL] SQL Server 2012 SP4 - jak sprawdzić ile miejsca zajmuje baza danych albo wybrana tabela?

W SQL Server istnieje wbudowana, systemowa procedura składowana o nazwie sp_spaceused, która pozwala na wyświetlenie informacji na temat tego ile miejsca zajmuje wybrana baza danych albo pojedyncza tabela. 

Aby skorzystać ze wspomnianej procedury, w celu ustalenia rozmiaru bazy danych, wystarczy wywołać polecenie EXEC sp_spaceused. W odpowiedzi powinniśmy uzyskać pożądane informacje. 


Aby ustalić rozmiar tabeli, należy wywołać przykładowo polecenie EXEC sp_spaceused N'dbo.BankiPolskie', gdzie dbo.BankiPolskie oznacza nazwę schematu i nazwę tabeli, która znajduje się we wskazanym schemacie. Żeby uzyskać pewność co do tego, że wartości, które zobaczymy będą aktualne, do naszego polecenia warto dodać jeszcze parametr @updateusage = N'TRUE'; Całość zatem będzie wyglądać następująco:

EXEC sp_spaceused N'dbo.BankiPolskie',
@updateusage = N'TRUE'; 
GO

Oto przykładowy wynik:


Z zaprezentowanej powyżej grafiki, możemy wywnioskować, że:
  • analizujemy tabelę o nazwie BankiPolskie (kolumna name)
  • ilość wierszy w tabeli BankiPolskie to 3 (kolumna rows)
  • całkowita ilość przydzielonego miejsca dla danego obiektu (w tym przypadku tabeli) to 16 KB (kolumna reserved)
  • całkowita ilość miejsca wykorzystywanego przez dane to 8 KB (kolumna data)
  • całkowita ilość miejsca wykorzystywanego przez indeksy to 8 KB (kolumna index_size)
  • całkowita ilość miejsca zarezerwowanego dla danego obiektu w bazie danych (w naszym przypadku tabeli), które nie jest wykorzystywane to 0 KB (kolumna unused)

sobota, 5 maja 2018

[PL] SQL Server Integration Services (SSIS) w praktyce - precedence constraints

Dzisiaj publikuję kolejne nagranie z cyklu "SQL Server Integration Services (SSIS) w praktyce". Tym razem, przedstawiam podstawowe zagadnienia dotyczące wykorzystania precedence constraints.


piątek, 27 kwietnia 2018

[PL] SQL Server Integration Services (SSIS) w praktyce - Foreach Loop Container

Tym wpisem chciałbym rozpocząć cykl materiałów video poświęconych SQL Server Integration Services (SSIS) pod nazwą "SQL Server Integration Services (SSIS) w praktyce". W pierwszym nagraniu pokrótce omawiam do czego służy Foreach Loop Container w SSIS?

Otóż wyobraźmy sobie sytuację, w której główny oddział firmy istnieje w Warszawie, z kolei dodatkowe oddziały firmy są zlokalizowane w stolicy każdego województwa. Każdy oddział firmy pracuje na własnej, niezależnej bazie danych i na potrzeby analityki, chcielibyśmy analizować dane całości firmy. Możemy zatem wyeksportować dane z każdego oddziału firmy do pliku CSV celem zaimportowania ich do jednego, centralnego systemu w postaci hurtowni danych. Wówczas uzbiera nam się w sumie kilkanaście plików, po jednym z każdego województwa. Żeby nie tworzyć odrębnych zadań importu danych z każdego pliku typu C:\pliki\Wroclaw.csv, C:\pliki\Olsztyn.csv, C:\pliki\Warszawa.csv itd., możemy utworzyć jedno zadanie, które zaimportuje zbiorczo wiele plików do naszej hurtowni danych. Jak to zrobić używając Foreach Loop Container w Microsoft SQL Server Integration Services?


niedziela, 22 kwietnia 2018

[PL] SQL Server 2012 SP4 - jak wykryć kto dokonał zmiany struktury tabeli?

W SQL Server znajdują się wbudowane raporty dotyczące pracy serwera i środowiska, w którym on pracuje. Są one dostępne pod menu Reports, które jest widoczne po kliknięciu prawym przyciskiem myszy  na instancję albo konkretną bazę danych.





Jednym z dostępnych raportów jest na przykład Schema changes history, który pozwala na wyświetlić informacje na temat zmian schematu danej bazy danych. Dzięki temu jesteśmy w stanie dowiedzieć się np. kto dokonał utworzenia danej tabeli bądź jej zmiany z dokładnością do rodzaju operacji (np. CREATE, ALTER), daty kiedy operacja została wykonana i nazwy użytkownika, który dokonał konkretnej zmiany.