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 […]
Archiwum dla kategorii ‘SQL’
Wykorzystanie XACT_STATE do sprawdzenia stanu transakcji
Mutator Write dla kolumny nvarchar(max)
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 […]
Korzystanie z aliasów SQL
Alias do serwera SQL musi być konfigurowany na systemie klienckim. Mało wygodne będzie jednak odiwedzanie komputeró po kolei i wyklikiwanie w nim definicji aliasu. Alias wystarczy zdefiniować na jednym komputerze, a następnie wyeksportować z rejestru i importować na pozostałych komputerach. Odpowiednia gałąź rejestru z aliasami serwera SQL to: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo Źródło: http://blogs.msdn.com/b/sql_protocols/archive/2007/01/07/connection-alias.aspx
250-ty wpis na tym blogu. Dowcipy o SQL
Wyjaśnienia dla niewtajemniczonych: DBA = Database Administrator COMMIT – polecenie zatwierdzające zapisanie danych/transakcji na dysku. Brak tego polecenia powoduje często odwołanie transakcji NULL – wartość nieokreślona w SQL JOIN/SELECT/DROP – pewne polecenia SQL A teraz przejdźmy do rzeczy. Jeśli dowcipy czyta ktoś spoza branży – uśmieszkami oznaczyłem miejsca, gdzie należy się śmiać: Q1: […]
Błąd podczas konfiguracji Always ON: The connection to the primary replica is not active.
Podczas kolejnego kroku konfiguracyjnego kreatora grupy Always On otrzymałem komunikat o błędzie: The connection to the primary replica is not active. Przyczyna była taka, że jeden z serwerów wykorzystywał inne konto usługi na którym działa SQL Server. Nie jest to błąd, jednak w takim przypadku konto suługi innego serwera musi mieć utworzony login do drugiego […]
SQL: Błąd: Login failed for user 'x’. The user is not associated with a trusted SQL Server connection.
Podczas definiowania replikacji transakcyjnej z updatable subscriptions otrzymałem komunikat o błędzie: Login failed for user 'x’. The user is not associated with a trusted SQL Server connection. Przyczyny były następujące: Brakowało jednego wspólnego loginu z uprawnieniami do replikowanej przeze mnie bazy danych Login ten nie był dodany do listy „Publication Access List” Na obu serwerach […]
Select budujący listę wartości rozdzielaną przecinkami
Tym razem szukamy metody na uzyskanie listy wartości rozdzielanej przecinkami. Załóżmy, że interesuje nas lista kolorów. Zacznijmy od prostego zapytania, które zwróci listę unikalnych kolorów: SELECT DISTINCT P.Color from Production.Product AS P WHERE P.Color IS NOT NULL ORDER BY P.Color ASC Oto efekt: Jednak my wolelibyśmy zobaczyć te wartości w jednej zmiennej! Dorzućmy więc FOR […]





























