Archiwum dla kategorii ‘SQL’

Helpdesk: Nowy komputer bardzo wolny. Dysk obciążony na 100%

2016-08-22

OK, masz nowy fajny i jak sadzisz wydajny komputer, ale z nieznanych powodów pracuje się niezbyt dobrze. Czas reakcji jest słaby i nawet zwykłe przglądanie stron trwa wieczność. Uruchomiłeś już może nawet task managera (CTLR+SHIFT+ESC) i sprawdziłeś, że wykres wydajności dysku wykazuje jego stałe obciążenie bliskie 100%. Nieważne czy masz dysk SSD czy HDD. Na laptopie […]

SQL: Bezbolesna zmiana collation serwera SQL po instalacji

2016-08-10

Zazwyczaj wskutek złej komunikacji może okazać się, że serwer został zainstalowany z niepoprawnym collation. Generalnie każde collation jest dobre, ale problem zaczyna się wtedy, gdy na serwerze pojawia się baza danych ze swoim specyficznym collation i niektóre zapytania lub procedury kończą się błędem „collation conflict”. Problem można próbować rozwiązywać na wiele sposobów. Zdecydowanie najlepszy – […]

By Rafał Kraik in SQL

SQL: Profiler nie zapisuje INSERT/UPDATE/DELETE

2016-07-05

Chciałem zpaisać w trace inforacje o tym ile czasu zajmuje insert do tabeli „printjob”. Developer podejrzewał, że coś jest nie tak po tronie SQL, a admin SQL czyli ja próbował się przed tym zarzutem obronić. Rzeczywiście – tabelka jak to tabelka, kilka tysięcy rekordów, struktura dość poprawna, brak triggerów, kluczy obcych itp. Zapisy powinny być […]

By Rafał Kraik in SQL

SQL: Collation conflict – tymczasowa procedura

2016-06-23

SQL serwer pozwala na to, żeby na serwerze obowizywało inne collation niż w bazie danych. Ale jeśli utworzysz obiekt tymczasowy, apotem zechcesz wykonywać złaczenia (JOIN) z tym obiektem, to… marny twój los. Tym razem programista zdecydował się utworzyć procedurę tymczasowa: CREATE PROCEDURE #test @statement VARCHAR(50) AS … IF @STATEMENT IN (’DISPLAY’, 'HIDE’) BEGIN … Podczas […]

By Rafał Kraik in SQL

SQL 2016: JSON w SQL

2016-05-31

Świat SQL to świat SQL, ale od czasu do tego świata wchodzi coś z zaświatów. Pierwszym takim gościem był XML, a wraz z nim typ XML, OPENXML, wbudowane metody typu XML, kóre pozwalały wykonywać na nim operacje ale również składnia FOR XML. I super, tylko XMLa, SQLowcy zwykle nie lubią… Od wersji 2016 mamy nowego […]

SQL 2016: Live query statistics. Wodotrysk, czy przydatne narzędzie?

2016-05-30

Live Query Statistics to prezentowane na żywo postępy w wykonaniu zapytania wyświetlane na planie zapytania. Sama idea jest bardzo podobna do trybu debuggowania pakietu SSIS, gdzie widać, jak dane przepływają pomiędzy poszczególnymi komponentami pakietu. Tutaj prezentowane są podobne wyniki, ale dotyczy to operatorów planu zapytania: W przypadku tego planu linie ciągłe prezentują kroki zapytania już […]

SQL 2016: Query store

2016-05-29

Z optymalizacja zapytań jest pewien problem… programista wykonuje testy na swoich małych zestawach przykładowych danych, specjalnie nie przykładając się do optymalizacji. Ma działać – to jest jego cel. Wydajność jest bolesna dla użytkownika i administratora, z którym w pierwszej kolejności kontaktuje się użytkownik, gdy mu coś nie działa. Niestety administrator nie ma wpływu na treść […]