Scripting biedt oneindige mogelijkheden voor het verzamelen van gegevens over de SQL databases.
Hier een overzicht van een aantal handige TSQL scripts.
Weergave van alle tabellen gesorteerd op aantal records
Op zoek naar de grootste tabellen in je SQL database?
Deze query maakt een overzicht van alle tabelllen gesorteerd op het aantal records in deze tabellen.
SELECT T.name AS [TABLE NAME], I.rows AS [ROWCOUNT] FROM sys.tables AS T INNER JOIN sys.sysindexes AS I ON T.object_id = I.id AND I.indid < 2 ORDER BY I.rows DESC
Weergave van de index fragmentatie
Fragmentatie van indexen kan leiden tot performanceverlies bij het uitvoeren van queries. De oplossing kan bestaan uit het reorganiseren of herindexeren van de meest gefragmenteerde indexen. Deze query geeft een overzicht van de fragmentatie per index gesorteerd op de hoogste fragmentatie.
SELECT dbschemas.[name] as 'Schema', dbtables.[name] as'Table', dbindexes.[name] as'Index', indexstats.avg_fragmentation_in_percent, indexstats.page_count FROM sys.dm_db_index_physical_stats (DB_ID(), NULL, NULL, NULL, NULL) AS indexstats INNERJOIN sys.tables dbtables ondbtables.[object_id] = indexstats.[object_id] INNERJOIN sys.schemas dbschemas ondbtables.[schema_id] = dbschemas.[schema_id] INNERJOIN sys.indexes ASdbindexes ONdbindexes.[object_id] = indexstats.[object_id] AND indexstats.index_id = dbindexes.index_id WHERE indexstats.database_id = DB_ID() ORDER BY indexstats.avg_fragmentation_in_percent desc
Weergave van laatst bijgewerkte statistiek per object
Statistieken helpen de SQL engine voor het bepalen van het meest optimale queryplan. Via dit queryplan wordt bepaald op welke manier de gewenste informatie zo snel mogelijk aan het client proces kan worden terggegeven.
Actuele statistieken zijn noodzakelijk om te verzekeren dat deze statistiek nog een representatieve afspiegeling is van de huidige datastructuur.
SELECT name AS StatisticsName, STATS_DATE(object_id, stats_id) AS StatisticsUpdatedDate FROM sys.stats WHERE OBJECT_NAME(object_id) = 'SalesOrderHeader' ORDER BY name; GO