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ć […]
Archiwum dla kategorii ‘SQL’
SQL: Profiler nie zapisuje INSERT/UPDATE/DELETE
SQL: Collation conflict – tymczasowa procedura
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 […]
SQL 2016: JSON w SQL
Ś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?
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
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ść […]
SQL 2016: In-memory OLTP
In memory OLTP poajwiło się w SQL server wraz z SQL 2014. Ogólnie rzecz biorąc przebudowano zasady przechowywania wierszy ze znanych nam drzew na ciagi dacych umieszczone w pamięci, a co za tym idzie również zupełnie zmieniono niepodważalne do tej pory święte zasady pracy z danymi, jak np. blokowanie rekordów, które tutaj nie występuje, Ładnie […]
SQL: bcp: [Microsoft][SQL Native Client]I/O error while reading BCP format file
Podczas standardowego uruchomienia bcp a plikiem format pojawiał się komunikat o błędzie: [Microsoft][SQL Native Client]I/O error while reading BCP format file Zazwyczaj I/O error oznacza, że pliku nie można odczytać, bo np nie ma go we właściwym katalogu, jest literówka w nazwie, albo plik jest, ale brakuje do niego uprawnień. Jednak tym razem wszystkie te […]