Kategoria: SQL Server

Przydatne skrypty, SQL Server

Aktualizacja statystyk dla tabel używanych w widoku (wraz z zagnieżdżonymi)

DECLARE @ObjectName sysname = 'VIEW_NAME’; DECLARE @ObjectSchema sysname = 'dbo’; DECLARE @WithFullscan BIT = 1; DECLARE @ExecuteUpdateStatistics BIT = 1; —————CODE SET NOCOUNT ON; IF NOT EXISTS ( SELECT * FROM sys.objects WHERE name = @ObjectName AND schema_id = SCHEMA_ID(@ObjectSchema) AND type = 'V’ ) THROW 50000, 'Obiekt nie istniejeCzytaj dalej / Read more

Przydatne skrypty, SQL Server

Statystyki do aktualizacji

SELECT [sch].[name] + ’.’ + [so].[name] AS [TableName] , [ss].[name] AS [Statistic] , [sp].[last_updated] AS [StatsLastUpdated] , [sp].[rows] AS [RowsInTable] , [sp].[rows_sampled] AS [RowsSampled] , [sp].[modification_counter] AS [RowModifications] FROM [sys].[stats] [ss] JOIN [sys].[objects] [so] ON [ss].[object_id] = [so].[object_id] JOIN [sys].[schemas] [sch] ON [so].[schema_id] = [sch].[schema_id] OUTER APPLY [sys].[dm_db_stats_properties]( [so].[object_id] ,Czytaj dalej / Read more

Administracja, SQL Server

Chcesz przyspieszyć backup albo brakuje Ci na niego miejsca choć masz inne dyski które razem go pomieszczą ale z osobna już nie?

Z dokumentacji technet: ( https://technet.microsoft.com/en-us/library/ms190954%28v=sql.105%29.aspx ) Using multiple backup devices allows backups to be written to all devices in parallel. Backup device speed is one potential bottleneck in backup throughput. Using multiple devices can increase throughput in proportion to the number of devices used. Similarly, the backup can be restored fromCzytaj dalej / Read more

Development, SQL Server

Proste usunięcie duplikatów

Dzisiaj prezentacja prostego sposobu na pozbycie się wszystkich rekordów, które nie są takie same ale niestety mają ten sam klucz. Do wykonania takiej operacji posłużymy się oczywiście grupowaniem, ale nie tym klasycznym które wszyscy znamy (GROUP BY), a partycjonowaniem danych przy użyciu funkcji okienkowych (PARTITION BY) Wystarczy ponumerowac rekordy (ROW_NUMBER())Czytaj dalej / Read more

Development, SQL Server

Stosowanie IN do znalezienia jednej wartości w wielu kolumnach

Z dokumentacji technet: https://docs.microsoft.com/en-us/sql/t-sql/language-elements/in-transact-sql IN (Transact-SQL) – Determines whether a specified value matches any value in a subquery or a list. Oficjalna dokumentacja nie wspomina o możliwości wykorzystania polecenia IN do przeszukiwania wielu kolumn dla podanej wartości. Jednak implementacja  przewiduje takie przypadki, pokaże też na co engine zamienia takie polecenie. CzasamiCzytaj dalej / Read more

Development, SQL Server

Sortowanie liczb przechowywanych jako napis

Z wikipedii: http://pl.wikipedia.org/wiki/Porz%C4%85dek_leksykograficzny Porządek leksykograficzny – pojęcie matematyczne odnoszące się do sposobu uporządkowania elementów zbiorów. Dzisiaj krótko o dość często zapominanym szczególe, który może znacząco wpłynąć na wyniki Waszych zapytań. W wielu systemach można napotkać na ciekawe przypadki trzymania liczb w polach (n)char,(n)varchar. Zapewne każdy z nich dałoby się jakośCzytaj dalej / Read more