Kategoria: Development

Tematy poświęcane developowaniu rozwiązań w MS SQL Server

Development, Przydatne skrypty, SQL Server

Rozrost tempdb – Extended Events + podgląd via TSQL

Skrypt dzięki uprzejmości Igora Yaremenko 🙂

 

Development, Przydatne skrypty, SQL Server

Konkatenacja napisów w SQL < 2017 - wersja z użyciem XML PATH bez podmiany znaków specjalnych np. & na & amp;

 

Development, SQL Server

Prosta konkatenacja napisów w wierszach według ustalonej kolejności (2017+)

 STRING_AGG()   to długo wyczekiwana funkcja. Konkurencja miała już ją od dawna. A my musieliśmy kombinować i stawiać protezy (recursive cte, xml, clr, meh..) SQL Server 2017 (i Azure) nam wreszcie ją udostępnia. Warto jednak pamiętać, że domyślnie napisy złączane są według kolejności losowej (takiej, z jaką „wpadną w ręce” silnika),Czytaj dalej / Read more

Development, SQL Server

Znalezienie lockowanego rekordu po RID lub hash value przy użyciu wirtualnej kolumny %%lockres%%

Często gęsto analizujemy jakiegoś locka. Dowiadujemy się jaki jest jego RID lub hash klucza: I zadajemy sobie teraz pytanie… OK, wiem która to baza, wiem który to obiekt. Ale skąd mam wiedzieć o jaki rekord może chodzić??   Z pomocą przychodzi wirtualna nieudokumentowana kolumna %%lockres%%, która zwraca właśnie powyższe wartości 🙂   Przykład:Czytaj dalej / Read more

Administracja, Development, Przydatne skrypty, SQL Server

RESTORE DATABASE FROM database_snapshot

Z dokumentacji technet: https://msdn.microsoft.com/en-us/library/ms175158%28v=sql.105%29.aspx Snapshots can be used for reporting purposes. Also, in the event of a user error on a source database, you can revert the source database to the state it was in when the snapshot was created. Data loss is confined to updates to the database sinceCzytaj dalej / Read more

Administracja, Development, SQL Server

TRUNCATE tylko części danych? Challenge accepted!

UWAGA Artykuł pochodzi z czasów, gdy nie istniało polecenie TRUNCATE TABLE WITH PARTITIONS . Dlatego został on nieco zmodyfikowany, odpowiednie komentarze prostują sytuację ;] Z dokumentacji technet: https://msdn.microsoft.com/pl-pl/library/ms189461%28v=sql.110%29.aspx Partitioning data enables you to manage and access subsets of your data quickly and efficiently while maintaining the integrity of the entire data collection. You canCzytaj dalej / Read more

Development, SQL Server

Zaawansowane przesuwanie okien :D (czyli użycie funkcji „okienkowych” OVER i zastosowanie ROWS,RANGE,BETWEEN,UNBOUNDED, CURRENT, PRECEDING, FOLLOWING)

Z dokumentacji technet: https://msdn.microsoft.com/pl-pl/library/ms189461%28v=sql.110%29.aspx ROWS | RANGE Further limits the rows within the partition by specifying start and end points within the partition. This is done by specifying a range of rows with respect to the current row either by logical association or physical association. Physical association is achieved byCzytaj dalej / Read more

Development, SQL Server

Potęga funkcji okna – SELECT LAG(), LEAD(), FIRST_VALUE(), LAST_VALUE()

Z dokumentacji technet: https://msdn.microsoft.com/en-us/library/hh231256.aspx https://msdn.microsoft.com/en-us/library/hh213125.aspx https://msdn.microsoft.com/en-us/library/hh213018.aspx https://msdn.microsoft.com/en-us/library/hh231517.aspx LAG provides access to a row at a given physical offset that comes before the current row. LEAD provides access to a row at a given physical offset that follows the current row. FIRST_VALUE returns the first value in an ordered set ofCzytaj dalej / Read more