Archiwum za miesiąc 2012-11

Aktywacja Windows 8 z Technet (slui). Zmiana klucza instalacji.

2012-11-17

Sam nie wiem czy coś pokręciłem, a może to po prostu ta jest, ale mój komputer z Windows 8 zainstalowanym z Technet wyświetlał komunikat o potrzebie aktywowania Windows, a gdy próbowałem to wykonać w ustawieniach komputera dostawałem komunikat „Aktywacja nie jest w tej chwili możliwa….” Doczytałem o nowych mechanizmach wbudowywania klucza w Windows 8 (http://www.benchmark.pl/aktualnosci/system-windows-8-oem-model-aktywacji.html) […]

SQL Mirroring – rola serwera witness i co dzieje się kiedy witness ma awarię.

2012-11-17

Mirroring ma na celu zwiększenie dostępności bazy danych. Nie będę tu zastanawiał się nad całym rozwiązaniem mirroringu a jedynie zastanowię się nad sytuacją, gdy w sesji High-Safety with automatic failover tracimy serwer Witness. Domyślnie w High Safety do wybrania serwera Principal potrzebne jest Quorum. Quorum to większość z 3 serwerów (principal,  mirror i witness), więc 2 […]

By Rafał Kraik in SQL

Dodawanie kolumny do tabeli z istniejącymi rekordami z wypełnieniem przez DEFAULT

2012-11-17

Kiedy tabela ma już rekordy, a chcesz dodać do niej kolumnę NOT NULL, to koniecznie musisz określić DEFAULT. Co jednak zrobić, jeżeli kolumna, którą dodajesz do tabeli akceptuje wartości NULL, a ty chcesz aby kolumna ta była wypełniona odpowiednimi wartościami? Popatrz na ten przykład: USE tempdb CREATE TABLE TableNulls (Id INT IDENTITY, value INT NOT NULL) […]

By Rafał Kraik in SQL

SQL 2012 – Funkcja FORMAT

2012-11-17

Jednym z problemów programisty jest przedstawienie danych dostępnych w bazie danych w sposób zrozumiały i akceptowalny dla użytkownika. Dane powinny być zaprezentowane w czysty, przyjazny sposób. W SQL Server 2012 otrzymujemy do dyspozycji funkcję FORMAT. Funkcja przyjmuje 3 parametry: Wartość do sformatowania String formatujący String identyfikujący ustawienia narodowe, wg których ma się odbyć formatowanie. Np. […]

Funkcje LAG i LEAD – sięganie do poprzedniego i następnego rekordu

2012-11-17

W zapytaniach SQL musisz czasami sięgnąć do wartości z poprzedniego lub następnego rekordu. W SQL 2012 służą do tego funkcje LAG (poprzedni rekord) oraz LEAD (następny rekord). Popatrz na przykład: USE tempdb; GO CREATE TABLE testlag (Year INT, Month INT, Value INT) GO INSERT testlag VALUES (2012,1,1000), (2012,2,2000), (2012,3,3000), (2012,4,4000), (2013,1,5000), (2013,2,6000), (2013,4,7000); Mamy tabelkę […]

Wykorzystanie XACT_STATE do sprawdzenia stanu transakcji

2012-11-17

Poniższy przykład pochodzi z http://msdn.microsoft.com/en-us/library/ms189797.aspx.  Prezentuje on, jak można dobrze wykonywać transakcje i reagować na potencjalnie pojawiające się błędy. 1. Po pierwsze używaj opcji SET XACT_ABORT ON. Powoduje ona „awansowanie błędów” powodujących przerwanie pojedynczego STATEMENT na błędy powodujące przerwanie batcha, lub przejście do bloku CATCH w przypadku obsługi błędów poprzez TRY/CATCH 2 Używaj TRY/CATCH do […]

By Rafał Kraik in SQL

Mutator Write dla kolumny nvarchar(max)

2012-11-17

Dopiero dzisiaj zauważyłem, że w SQL mamy coś takiego! Jest to metoda pozwalająca na dokonywanie zapisu do koluny nvarchar(max) w taki sposób, aby zmienić część tekstu na inny. Poniżej prezentuję przykład wzięty z http://decipherinfosys.wordpress.com/2007/07/24/update-textntext-or-varcharmax-data-type-columns-in-sql-server/ Popatrz na ten przykład:  Tworzysz tabelkę: CREATE TABLE Test (ID INT IDENTITY, TXT NVARCHAR(MAX))  Wstaw do niej rekord: INSERT Test VALUES(’It […]

By Rafał Kraik in SQL