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 […]
Archiwum dla kategorii ‘SQL’
SQL: Collation conflict – tymczasowa procedura
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 […]
SQL 2016: Columnstore index idzie o krok do przodu
Każda z wcześniejszych wersji SQL miała jedną znaczną bolączkę jeśli chodzi o columnstore index. Otóż utworzenie takiego indeksu wiązało się z tym, że tabela stawała się tylko do odczytu. W wersji 2014 problem został trochę osłabiony, bo clustered columnstore index mógł już być aktualizowany. Problem rozwiązano tam w ten sposób, że w momencie utworzenia indeksu […]