Do ustawienia poziomu izolacji transakcji służy polecenie SET TRANSACTION ISOLATION LEVEL SNAPSHOT Może się jednak zdarzyć, że otrzymasz błąd:
Archiwum dla kategorii ‘SQL’
Jak ustawić poziom izolacji transakcji SNAPSHOT?
Jak z wartości w zmiennej typu DATE i wartości w zmiennej typu TIME utworzyć wartość DATETIME2?
Od wersji serwera SQL 2008 mamy do dyspozycji typ DATE i TIME i wiele innych zamiast jedynego do tej pory DATETIME. Typ DATE przechowuje datę (bez czasu) a typ TIME przechowuje czas (bez daty). Jednak jak połączyć to w całość, przypominającą dawny DATETIME (zawierający i datę i czas)? Da się.
Jak badać w poziomie batch-a wynik polecenia sqlcmd?
SQLCmd to polecenie pozwalające na uruchamianie w trybie wsadowym skryptów SQL. Można go użyć np w edycji Express, do regularnego wykonywania kopii zapasowej (co było już opisane na mobilo/mobilo24). Jak jednak zbadać, jaki jest wynik działania polecenia SQLCmd z poziomu „dos-owego batch-a”, który uruchomił skrypt? Załóżmy, że w batch-u masz polecenie: sqlcmd -i D:\skrypty\kopia.sql -o […]
Procedura składowana – BEGIN i END
Zamierzasz utworzyć procedurę, którą będzie uruchamiał pewien nowy użytkownik. Tworzymy więc konto użytkownika: USE Test GO CREATE USER TestUser WITHOUT LOGIN GO Teraz dla użytkownika utworzymy procedurę i nadamy uprawnienia dla tego użytkownika: CREATE PROCEDURE TestIt AS BEGIN SELECT file_id, name FROM sys.database_files END GRANT EXECUTE ON TestIt TO TestUser GO Uwaga! Uruchamiając ten kod […]
Parametr dla procedury to nie to samo co zmienna w zapytaniu ad-hoc. Wykorzystanie planów wykonania.
Ten przykład pokaże, że co innego jest napisać i dobrze wykorzystać procedurę składowaną z parametrami, a co innego ten sam kod wykonać jako zapytanie ad-hoc, nawet jeżeli pewne wartości do zapytania będą przekazywane poprzez zmienne. Będziemy pracować w testowej bazie danych: use AdventureWorks2008R2 Zauważ, jak zachowuje się poniższe zapytanie: SELECT * FROM Sales.SalesOrderHeader WHERE OrderDate […]
Jak pobrać aktualną wersję rekordu z tabeli historycznych zmian
Załóżmy, że mamy tabelę o następującej strukturze: CREATE TABLE case_status ( Id INT, CaseId CHAR(10), Status CHAR(10) ) Tabela ma zapamiętywać historyczne zmiany, które zachodziły dla określonych spraw (CaseId). Przyjrzyjmy się takim danym: INSERT INTO case_status VALUES (1,’CASE_A’,’Open’), (2,’CASE_B’,’Open’), (3,’CASE_A’,’Process’), (4,’CASE_C’,’Open’), (5,’CASE_A’,’Close’), (6,’CASE_B’,’Process’) Widać, że sprawa „CASE_A: została kiedyś otwarta (rekord nr 1), potem […]
Mniej znane polecenia na SQL Serwerze (CHECKPOINT, KILL, SHUTDOWN)
Zacznijmy od niegroźnego polecenia CHECKPOINT Powoduje ono uruchomienie procesu CHECKPOINT polegającego na przepisaniu „brudnych stron” z bufora SQL Serwera na dysk. Domyślnie czynność ta wykonuje się sama, bez naszej ingerencji, a wpływ ma na nią opcja serwera 'Recovery Interval’. Jeżeli chcesz aby baza danych po awarii odtwarzała się szybciej to zmniejsz recovery interval. Chceckpointy będą […]





























