MSSQL

SQL Server – minimalne logowanie

SQLServer_MinimalneLogowanie_00
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Na to czy nasze rozwiązanie jest dostatecznie wydajne ma wpływ bardzo dużo różnych czynników. W przypadku procesów ładujących ETL czy też ELT jednym z kluczowych aspektów na jakie trzeba zwrócić uwagę jest minimalne logowanie. Co to jest i jak należy to testować? Postaram się to wytłumaczyć w ramach niniejszego artykułu – serdecznie zapraszam. Jak wszyscy wiemy baza danych aby zachować konsystencję i spełnić wszelkie postulaty bycia transakcyjną wykorzystuje dziennik transakcyjny (ang. transaction log). To właśnie w tym miejscu znajdują się informacje o niemal wszystkich operacjach modyfikujących jakie zostały wykonane na bazie danych. Jest to niezwykle istotne ze względu na fakt,…
Read more

SQL Server -indeks kolumnowy + partycjonowanie

SQLServer_Columnstore_Partitioning_00
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

W świecie hurtowni danych niezwykle istotnym czynnikiem jest wydajność zarówno wstawiania danych jak i ich odczytu. W SQL Server 2012 wprowadził niezwykle istotną konstrukcję, która pomaga nam osiągnąć złoty środek jeśli chodzi o INSERT jak i SELECT jaką jest bez wątpienia indeks kolumnowy czyli COLUMNSTORE. Jeszcze wcześniej wprowadzona w naszym ulubionym silniku bazodanowym została technologia pozwalająca partycjonować dane. Na przestrzeni lat obie technologie stały się niezwykle istotne i znalazły szerokie zastosowania w hurtowaniach danych i nie tylko. Czy mogą one współistnieć razem i przy okazji się uzupełniać? Oczywiście, że tak! W ramach niniejszego artykułu chciałbym pokazać wybrany przeze mnie scenariusz…
Read more

SQL Server – wstawianie danych a kompresja stron na stertach

SQLServer_CompressionAndHeaps_00
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Już jakiś czas nie pisałem na niniejszym blogu niczego na temat bazy danych SQL Server dlatego postanowiłem to zmienić i opisać dosyć ciekawy mechanizm. Chodzi mianowicie o kompresję, tak tę tradycyjną kompresję stron, która jest powszechnie znana ale charakteryzuje się wieloma właściwościami, które mogą nas nieco zaskoczyć. Jedną z takich właściwości jest “współpraca” kompresji i tabel bez indeksów czyli stert (ang. heap). Współpraca ta na pierwszy rzut oka wygląda dokładnie tak jak byśmy się tego spodziewali, ale ciekawe efekty pojawiają się wtedy, gdy chcemy do takiej tabeli wstawić dane. Właśnie temu zagadnieniu chciałbym poświęcić niniejszy wpis do lektury, którego serdecznie…
Read more

SQL Server objects ownership oraz Ownership Chain

SQLServer_OwnershipChain_000
Follow me

Adrian Chodkowski

SQL geek, Data enthusiast, Consultant & Developer
Adrian Chodkowski
Follow me

Widoki bardzo często dają możliwość wyświetlenia odpowiednich danych określonym użytkownikom. Podobną rolę mogą spełniać procedury składowane czy też tabelaryczne funkcje użytkownika. Jak można przypuszczać obiekty te bardzo często są wykorzystywane jako mechanizm bezpieczeństwa co wydaje się naturalne i nie ma w tym nic złego. Czy jednak nadanie praw do odpytania widoku czy wykonania procedury gwarantuje, że zwrócone zostaną dane? Oczywiście, że nie! W grę wchodzi tutaj posiadanie uprawnień właściciela oraz mechanizm Ownership Chain o których chciałbym dziś napisać parę słów. Na samym początku troszeczkę teorii jeśli chodzi o prawa właściciela oraz schematy ze względu na fakt, iż są one ze…
Read more

Zmiana compatibility level w SQL Server – wskazówki

Zmiana compatibility level w SQL Server

Ostatnimi czasy wspierałem administratora baz danych podczas zmiany “compatibility level” dla jednej z baz hurtowni danych. Konkretnie zmiana dotyczyła przejścia z trybu 110 (zgodny z SQL Server 2012) na tryb 120 (zgodny z SQL Server 2014). Baza działała w trybie zgodnym z SQL Server 2012, natomiast Server został już wcześniej “upgradowany” do SQL Server 2014. W tym poście chciałbym podzielić się z problemami oraz wskazówkami dotyczącymi tej zmiany. Przedstawię swój plan pracy oraz poszczególne etapy oraz problemy, które napotkałem. Wskazówki mogą się okazać szczególnie przydatne w przypadku baz hurtowni danych, które uczestniczą w procesie ETL.