mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
73 lines
3.1 KiB
Transact-SQL
73 lines
3.1 KiB
Transact-SQL
declare @db_name sysname = 'master'
|
|
|
|
begin
|
|
declare @result NVARCHAR(MAX);
|
|
set @result = (select compatibility_level, recovery_model_desc, snapshot_isolation_state_desc, is_read_committed_snapshot_on,
|
|
is_auto_update_stats_on, is_auto_update_stats_async_on, delayed_durability_desc,
|
|
is_encrypted, is_auto_create_stats_incremental_on, is_arithabort_on, is_ansi_warnings_on, is_parameterization_forced
|
|
from sys.databases
|
|
where name = @db_name
|
|
for xml raw('db'), elements);
|
|
set @result += (select compatibility_level, snapshot_isolation_state_desc, is_read_committed_snapshot_on,
|
|
is_auto_update_stats_on, is_auto_update_stats_async_on, delayed_durability_desc,
|
|
is_encrypted, is_auto_create_stats_incremental_on, is_arithabort_on, is_ansi_warnings_on, is_parameterization_forced,
|
|
number_of_files = (select count(*) from master.sys.master_files where database_id = db_id('tempdb'))
|
|
from sys.databases
|
|
where name = 'tempdb'
|
|
for xml raw('tempdb'), elements);
|
|
set @result += ISNULL((
|
|
select name = CONCAT('DB-CONFIG:',name), value
|
|
from sys.database_scoped_configurations
|
|
for xml raw, elements ),'');
|
|
declare @tf table (TraceFlag smallint, status bit,global bit, session bit)
|
|
insert into @tf execute('DBCC TRACESTATUS(-1)');
|
|
set @result += ISNULL((
|
|
select name=CONCAT('TF:',TraceFlag), value=status from @tf
|
|
where global=1 and session=0
|
|
and (TraceFlag in (8690 -- https://blogs.msdn.microsoft.com/psssql/2015/12/15/spool-operator-and-trace-flag-8690/
|
|
, 8744, 9347, 9349, 9471, 9476, 9488 -- Plan affecting TFs include others such as
|
|
, 9453, 9495 -- Execution related TFs
|
|
, 4199, 9481 /*force legacy CE*/, 2312 /* force default CE */
|
|
--https://kohera.be/blog/sql-server/trace-flags-sql-servers-transformer-like-tuning/
|
|
, 1118, 2371, 610, 1117, 8048, 1236, 8015, 834, 1224, 2335,
|
|
-- Taking care of Query-Hint-Hell
|
|
4136, 8602, 8722, 8755,
|
|
-- random trace flags aka.ms/traceflags
|
|
634, 3459, 3468, 3505, 9495,
|
|
9347, 9349, 9389, 9398, 9453 -- batch mode related
|
|
|
|
)
|
|
or TraceFlag between 4100 and 4120
|
|
)
|
|
for xml raw, elements
|
|
),'');
|
|
set @result += (
|
|
select name = CONCAT('CONFIG:',name), value from sys.configurations
|
|
where name in ('cost threshold for parallelism','cursor threshold','fill factor (%)'
|
|
,'index create memory (KB)','lightweight pooling'
|
|
,'locks','max degree of parallelism','max full-text crawl range','max text repl size (B)'
|
|
,'max worker threads','min memory per query (KB)','nested triggers'
|
|
,'network packet size (B)','optimize for ad hoc workloads'
|
|
,'priority boost','query governor cost limit','query wait (s)','recovery interval (min)'
|
|
,'set working set size','user connections')
|
|
for xml raw, elements
|
|
);
|
|
set @result += (select name = 'version', value = @@VERSION for xml raw, elements)
|
|
|
|
set @result += isnull
|
|
((SELECT scheduler_count, scheduler_total_count FROM sys.dm_os_sys_info
|
|
for xml raw('instance'), elements),''
|
|
);
|
|
|
|
set @result +=
|
|
isnull((SELECT name = REPLACE([type], 'MEMORYCLERK_', 'MEMORY:')
|
|
, value = CAST(sum(pages_kb)/1024.1/1024 AS NUMERIC(6,1))
|
|
FROM sys.dm_os_memory_clerks
|
|
GROUP BY type
|
|
HAVING sum(pages_kb) /1024. /1024 > 1
|
|
for xml raw, elements),'');
|
|
|
|
select cast(@result as xml);
|
|
|
|
end;
|