Tworzymy login z podanym SID-em

Czasami zdarza się, że należy utworzyć login z góry zadanym SID-em. Problem tego typu można zaobserwować podczas korzystania z usług Log Shipping’u, AlwaysOn Availability Group czy miroringu. W momencie przełączenia się na serwer zapasowy podczas próby podłączenia się do bazy danych występuje błąd logowania. Sytuacja taka dotyczy jedynie loginów SQLowych, a nie kont do logowania się do Windows czy też kont z AD. W sytuacjach opisywanych powyżej zawsze mamy do czynienia z minimum dwoma serwerami SQL. Gdy założymy, że pracujemy z dwoma Dowiedz się więcej…

Prawa de Morgana

Ostatnio zauważyłem kontrolując kody w T-SQL, że młodzi deweloperzy nie pamiętają prawa de Morgana lub źle go interpretują. W celu przypomnienia takich podstaw omówimy dwa prawa. I prawo de Morgana jest prawem zaprzeczenia koniunkcji Zaprzeczenie koniunkcji dwóch zdań ∼(p∧q) jest równoważne alternatywie zaprzeczeń tych zdań (∼p)∨(∼q). (∼(p∧q))⇔((∼p)∨(∼q)) NOT(a AND b) = (NOT a) OR (NOT b) II prawo de Morgana jest prawem zaprzeczenia alternatyw Zaprzeczenie alternatywy dwóch zdań ∼(p∨q) jest równoważne koniunkcji zaprzeczeń tych zdań (∼p)∧(∼q). (∼(p∨q))⇔((∼p)∧(∼q)) NOT(a OR b) = (NOT Dowiedz się więcej…

Flagi, mapy bitowe w T-SQL

Flaga to liczba z jedną jedynką (lub więcej) opisująca jakąś cechę. Wartości flag nie powinny się pokrywać, chyba że się nie wykluczają – wspólna (pod)cecha. Generalnie mapy bitowe pozwalają na przechowywanie wielu wartości flag czyli wartości poszczególnych bitów mapy (flag, ustawień) w jednej liczbie. Do sprawdzania flag najlepiej jest używać operatory bitowe. 32-bitowy INT to 32 bity informacji na 4 bajtach, 32 informacje logiczne które zapisane z użyciem typu bit zajmowałyby całe 32 bajty. Operacje logiczne na Mapach bitowych: sprawdzenie ustawienia wybranych Dowiedz się więcej…

Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.II

W poprzedniej części Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.I opisane zostały podstawowe operacje bitowe w T-SQL oparte na zmiennych typu bit. Teraz chcę podać przykład wyliczania tego typu operacji dla zmiennych liczbowych np. typu INT. Zasada jest podobna, gdyż na początku liczby trzeba rozpisać na postać binarną, a następnie na podstawie porównywania pojedynczych bitów (tak jak przedstawiono w części pierwszej) należy dopiero stworzyć tablice prawdy i uzyskany w ten sposób wynik binarny przekształcić na postać dziesiętną. & (Bitwise AND) Dowiedz się więcej…

Operatory bitowe do wykonywania operacji logicznych w T-SQL cz.I

Jeśli potrzeba wykonać operacje logiczne na operatorach bitowych zawartych jako kolumny w tabelach bez problemu można to wykonać z poziomu języka T-SQL SQL Server. T-SQL udostępnia operatory bitowe do wykonywania operacji logicznych na kolumnach tabeli bazy danych SQL Server. Poniżej przedstawię operatory bitowe OR, AND i XOR. Zaczniemy od utworzenia tabeli z kolumną klucza podstawowego, wraz z dwiema kolumnami typu danych BIT. Następnie wypełnimy tabelę czterema wierszami, tak jakbyśmy tworzyli klasyczną tabelę prawdy. Poniżej tabela z podstawowymi operacjami logicznymi: Najpierw utworzymy tabelę Dowiedz się więcej…