| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : C:/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/MSSQL/Install/ |
Upload File : |
/*
** U_Tables.CQL --- 1996/09/16 12:22
** Copyright Microsoft, Inc. 1994 - 2000
** All Rights Reserved.
** ***********************
** If this file is updated for Denali, then do not forget to update the target level for u_table.sql
** in sql\ntdbms\mkmaster\scriptdlls\upgradesrc\sqlscriptupgrade.cpp
**
*/
go
use master
go
set nocount on
go
declare @vdt varchar(99)
select @vdt = convert(varchar,getdate(),113)
raiserror('Starting u_Tables.SQL at %s',0,1,@vdt) with nowait
raiserror('This file creates all the system tables in master.',0,1)
go
-- Create a synonym spt_values in master pointing to spt_master in Resource DB,
-- for backward compat
if object_id('spt_values','U') IS NOT NULL
begin
print 'drop table spt_values ....'
drop table spt_values
end
go
if object_id('spt_values','SN') IS NOT NULL
begin
print 'drop synonym spt_values ....'
drop synonym spt_values
end
go
if object_id('spt_values','V') IS NOT NULL
begin
print 'drop view spt_values ....'
drop view spt_values
end
go
raiserror('Creating view ''%s''.', -1,-1,'spt_values')
go
create view spt_values as
select name collate database_default as name,
number,
type collate database_default as type,
low, high, status
from sys.spt_values
go
EXEC sp_MS_marksystemobject 'spt_values'
go
grant select on spt_values to public
go
------------------------------------------------------------------
if object_id('spt_monitor','U') IS NOT NULL
begin
print 'drop table spt_monitor ....'
drop table spt_monitor
end
go
------------------------------------------------------------------
------------------------------------------------------------------
raiserror('Creating ''%s''.', -1,-1,'spt_monitor')
go
create table spt_monitor
(
lastrun datetime NOT NULL,
cpu_busy int NOT NULL,
io_busy int NOT NULL,
idle int NOT NULL,
pack_received int NOT NULL,
pack_sent int NOT NULL,
connections int NOT NULL,
pack_errors int NOT NULL,
total_read int NOT NULL,
total_write int NOT NULL,
total_errors int NOT NULL
)
go
EXEC sp_MS_marksystemobject 'spt_monitor'
go
------------------------------------------------------------------
raiserror('Grant Select on spt_monitor',0,1)
go
grant select on spt_monitor to public
go
------------------------------------------------------------------
------------------------------------------------------------------
raiserror('Insert into spt_monitor ....',0,1)
go
insert into spt_monitor
select
lastrun = getdate(),
cpu_busy = @@cpu_busy,
io_busy = @@io_busy,
idle = @@idle,
pack_received = @@pack_received,
pack_sent = @@pack_sent,
connections = @@connections,
pack_errors = @@packet_errors,
total_read = @@total_read,
total_write = @@total_write,
total_errors = @@total_errors
go
-------------------------------------------------------------------------------------------------------
-- Extended Events Default Session: system_health
--
-- All wait types in this session use <= and >= for ranges in order to reduce the dependency on
-- wait types outside of a range.
-- If wait type values are changed in future in \Sql\Ntdbms\dk\sos\include\sc_waittypes.h then this
-- session definition could break as it has a dependency on the values within ranges of wait types.
-- The only complete mitigation would be to only use = predicates but that would be a huge perf hit
-- as events are fired for this session very frequently in perf-sensitive code paths.
-- As a partial mitigation, static_asserts were added to InitXE() in \Sql\Ntdbms\ksource\serverma.cpp to
-- generate compile-time errors if any of the ranges are changed in future.
---------------------------------------------------------------------------------------------------------
if exists(select * from sys.server_event_sessions where name='system_health')
drop event session system_health on server
go
-- The predicates in this session have been carefully crafted to minimize impact of event collection
-- Changing the predicate definition may impact system performance
--
create event session system_health on server
add event sqlserver.error_reported
(
action (package0.callstack, sqlserver.session_id, sqlserver.database_id, sqlserver.sql_text, sqlserver.tsql_stack)
-- Get callstack, SPID, and query for all high severity errors ( above sev 20 )
where severity >= 20
-- Get callstack, SPID, and query for OOM errors ( 17803 , 701 , 802 , 8645 , 8651 , 8657 , 8902 ), Hekaton checkpoint/merge errors (41354, 41355, 41367, 41384), Hekaton compilation related errors (41336, 41309, 41312, 41313)
or (error_number = 17803 or error_number = 701 or error_number = 802 or error_number = 8645 or error_number = 8651 or error_number = 8657 or error_number = 8902 or error_number = 41354 or error_number = 41355 or error_number = 41367 or error_number = 41384 or error_number = 41336 or error_number = 41309 or error_number = 41312 or error_number = 41313)
),
add event sqlclr.clr_allocation_failure
(action (package0.callstack, sqlserver.session_id)),
add event sqlclr.clr_virtual_alloc_failure
(action (package0.callstack, sqlserver.session_id)),
add event sqlos.scheduler_monitor_non_yielding_ring_buffer_recorded,
add event sqlserver.xml_deadlock_report,
add event sqlos.wait_info
(
action (package0.callstack, sqlserver.session_id, sqlserver.sql_text)
where
(duration > 15000 and
(
(wait_type >= N'LATCH_NL' -- Waits for latches and important wait resources (not locks ) that have exceeded 15 seconds.
and
(
(wait_type >= N'PAGELATCH_NL' and wait_type <= N'PAGELATCH_DT') --PAGELATCH_NL;PAGELATCH_KP;PAGELATCH_SH;PAGELATCH_UP;PAGELATCH_EX;PAGELATCH_DT
or (wait_type <= N'LATCH_DT') --LATCH_NL;LATCH_KP;LATCH_SH;LATCH_UP;LATCH_EX;LATCH_DT
or (wait_type >= N'PAGEIOLATCH_NL' and wait_type <= N'PAGEIOLATCH_DT') --PAGEIOLATCH_NL;PAGEIOLATCH_KP;PAGEIOLATCH_SH;PAGEIOLATCH_UP;PAGEIOLATCH_EX;PAGEIOLATCH_DT
or (wait_type >= N'IO_COMPLETION' and wait_type <= N'NETWORK_IO') --IO_COMPLETION;ASYNC_IO_COMPLETION;NETWORK_IO
or (wait_type = N'RESOURCE_SEMAPHORE')
or (wait_type = N'SOS_WORKER')
or (wait_type >= N'FCB_REPLICA_WRITE' and wait_type <= N'WRITELOG') --FCB_REPLICA_WRITE;FCB_REPLICA_READ;WRITELOG
or (wait_type = N'CMEMTHREAD')
or (wait_type = N'TRACEWRITE')
or (wait_type = N'RESOURCE_SEMAPHORE_MUTEX')
)
)
or
(duration > 30000 -- Waits for locks that have exceeded 30 secs.
and wait_type <= N'LCK_M_RX_X' -- all lock waits
)
)
)
),
add event sqlos.wait_info_external
(
action (package0.callstack, sqlserver.session_id, sqlserver.sql_text)
where
(duration > 5000 and
(
( -- Login related preemptive waits that have exceeded 5 seconds.
(wait_type >= N'PREEMPTIVE_OS_GENERICOPS' and wait_type <= N'PREEMPTIVE_OS_ENCRYPTMESSAGE') --PREEMPTIVE_OS_GENERICOPS;PREEMPTIVE_OS_AUTHENTICATIONOPS;PREEMPTIVE_OS_ACCEPTSECURITYCONTEXT;PREEMPTIVE_OS_ACQUIRECREDENTIALSHANDLE;PREEMPTIVE_OS_COMPLETEAUTHTOKEN;PREEMPTIVE_OS_DECRYPTMESSAGE;PREEMPTIVE_OS_DELETESECURITYCONTEXT;PREEMPTIVE_OS_ENCRYPTMESSAGE
or (wait_type >= N'PREEMPTIVE_OS_INITIALIZESECURITYCONTEXT' and wait_type <= N'PREEMPTIVE_OS_QUERYSECURITYCONTEXTTOKEN') --PREEMPTIVE_OS_INITIALIZESECURITYCONTEXT;PREEMPTIVE_OS_LOGONUSER;PREEMPTIVE_OS_QUERYSECURITYCONTEXTTOKEN
or (wait_type >= N'PREEMPTIVE_OS_AUTHZGETINFORMATIONFROMCONTEXT' and wait_type <= N'PREEMPTIVE_OS_REVERTTOSELF') --PREEMPTIVE_OS_AUTHZGETINFORMATIONFROMCONTEXT;PREEMPTIVE_OS_AUTHZINITIALIZECONTEXTFROMSID;PREEMPTIVE_OS_AUTHZINITIALIZERESOURCEMANAGER;PREEMPTIVE_OS_LOOKUPACCOUNTSID;PREEMPTIVE_OS_REVERTTOSELF
or (wait_type >= N'PREEMPTIVE_OS_CRYPTACQUIRECONTEXT' and wait_type <= N'PREEMPTIVE_OS_DEVICEOPS') --PREEMPTIVE_OS_CRYPTACQUIRECONTEXT;PREEMPTIVE_OS_CRYPTIMPORTKEY;PREEMPTIVE_OS_DEVICEOPS
or (wait_type >= N'PREEMPTIVE_OS_NETGROUPGETUSERS' and wait_type <= N'PREEMPTIVE_OS_NETUSERMODALSGET') --PREEMPTIVE_OS_NETGROUPGETUSERS;PREEMPTIVE_OS_NETLOCALGROUPGETMEMBERS;PREEMPTIVE_OS_NETUSERGETGROUPS;PREEMPTIVE_OS_NETUSERGETLOCALGROUPS;PREEMPTIVE_OS_NETUSERMODALSGET
or (wait_type >= N'PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICYFREE' and wait_type <= N'PREEMPTIVE_OS_DOMAINSERVICESOPS') --PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICYFREE;PREEMPTIVE_OS_DOMAINSERVICESOPS
or (wait_type = N'PREEMPTIVE_OS_VERIFYSIGNATURE')
)
or
(duration > 45000 -- Preemptive OS waits that have exceeded 45 seconds.
and
(
(wait_type >= N'PREEMPTIVE_OS_SETNAMEDSECURITYINFO' and wait_type <= N'PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL') --PREEMPTIVE_OS_SETNAMEDSECURITYINFO;PREEMPTIVE_OS_CLUSTEROPS;PREEMPTIVE_CLUSAPI_CLUSTERRESOURCECONTROL
or (wait_type >= N'PREEMPTIVE_OS_RSFXDEVICEOPS' and wait_type <= N'PREEMPTIVE_OS_DSGETDCNAME') --PREEMPTIVE_OS_RSFXDEVICEOPS;PREEMPTIVE_OS_DIRSVC_NETWORKOPS;PREEMPTIVE_OS_DSGETDCNAME
or (wait_type >= N'PREEMPTIVE_OS_DTCOPS' and wait_type <= N'PREEMPTIVE_DTC_ABORT') --PREEMPTIVE_OS_DTCOPS;PREEMPTIVE_DTC_ABORT
or (wait_type >= N'PREEMPTIVE_OS_CLOSEHANDLE' and wait_type <= N'PREEMPTIVE_OS_FINDFILE') --PREEMPTIVE_OS_CLOSEHANDLE;PREEMPTIVE_OS_COPYFILE;PREEMPTIVE_OS_CREATEDIRECTORY;PREEMPTIVE_OS_CREATEFILE;PREEMPTIVE_OS_DELETEFILE;PREEMPTIVE_OS_DEVICEIOCONTROL;PREEMPTIVE_OS_FINDFILE
or (wait_type >= N'PREEMPTIVE_OS_GETCOMPRESSEDFILESIZE' and wait_type <= N'PREEMPTIVE_ODBCOPS') --PREEMPTIVE_OS_GETCOMPRESSEDFILESIZE;PREEMPTIVE_OS_GETDISKFREESPACE;PREEMPTIVE_OS_GETFILEATTRIBUTES;PREEMPTIVE_OS_GETFILESIZE;PREEMPTIVE_OS_GETLONGPATHNAME;PREEMPTIVE_OS_GETVOLUMEPATHNAME;PREEMPTIVE_OS_GETVOLUMENAMEFORVOLUMEMOUNTPOINT;PREEMPTIVE_OS_MOVEFILE;PREEMPTIVE_OS_OPENDIRECTORY;PREEMPTIVE_OS_REMOVEDIRECTORY;PREEMPTIVE_OS_SETENDOFFILE;PREEMPTIVE_OS_SETFILEPOINTER;PREEMPTIVE_OS_SETFILEVALIDDATA;PREEMPTIVE_OS_WRITEFILE;PREEMPTIVE_OS_WRITEFILEGATHER;PREEMPTIVE_OS_LIBRARYOPS;PREEMPTIVE_OS_FREELIBRARY;PREEMPTIVE_OS_GETPROCADDRESS;PREEMPTIVE_OS_LOADLIBRARY;PREEMPTIVE_OS_MESSAGEQUEUEOPS;PREEMPTIVE_ODBCOPS
or (wait_type >= N'PREEMPTIVE_OS_DISCONNECTNAMEDPIPE' and wait_type <= N'PREEMPTIVE_CLOSEBACKUPMEDIA') --PREEMPTIVE_OS_DISCONNECTNAMEDPIPE;PREEMPTIVE_OS_PROCESSOPS;PREEMPTIVE_OS_SECURITYOPS;PREEMPTIVE_OS_SERVICEOPS;PREEMPTIVE_OS_SQLCLROPS;PREEMPTIVE_OS_WINSOCKOPS;PREEMPTIVE_OS_GETADDRINFO;PREEMPTIVE_OS_WSASETLASTERROR;PREEMPTIVE_OS_FORMATMESSAGE;PREEMPTIVE_OS_REPORTEVENT;PREEMPTIVE_OS_BACKUPREAD;PREEMPTIVE_OS_WAITFORSINGLEOBJECT;PREEMPTIVE_OS_QUERYREGISTRY;PREEMPTIVE_CLOSEBACKUPMEDIA
or wait_type = N'PREEMPTIVE_OS_AUTHENTICATIONOPS'
or wait_type = N'PREEMPTIVE_OS_FREECREDENTIALSHANDLE'
or wait_type = N'PREEMPTIVE_OS_AUTHORIZATIONOPS'
or wait_type = N'PREEMPTIVE_COM_COCREATEINSTANCE'
or wait_type = N'PREEMPTIVE_OS_NETVALIDATEPASSWORDPOLICY'
or wait_type = N'PREEMPTIVE_VSS_CREATESNAPSHOT'
)
)
)
)
),
add event sqlos.memory_broker_ring_buffer_recorded,
add event sqlos.scheduler_monitor_deadlock_ring_buffer_recorded,
add event sqlos.scheduler_monitor_system_health_ring_buffer_recorded,
add event sqlos.scheduler_monitor_non_yielding_iocp_ring_buffer_recorded,
add event sqlos.scheduler_monitor_non_yielding_rm_ring_buffer_recorded,
add event sqlos.scheduler_monitor_stalled_dispatcher_ring_buffer_recorded,
add event sqlos.memory_node_oom_ring_buffer_recorded
(action (package0.callstack, sqlserver.session_id, sqlserver.sql_text, sqlserver.tsql_stack)),
add event sqlserver.security_error_ring_buffer_recorded
(set collect_call_stack = 1),
add event sqlserver.connectivity_ring_buffer_recorded
(set collect_call_stack = 1),
add event sqlserver.sp_server_diagnostics_component_result
(
set collect_data = 1
where
sqlserver.is_system = 1 and
component != 4 /* DiagnoseComponent::DCCI_EVENTS */
),
add event sqlserver.job_object_ring_buffer_stats,
add event sqlserver.nonyield_copiedstack_ring_buffer_recorded
add target package0.event_file -- Store events on disk (in the LOG folder of the instance)
(
set filename = N'system_health.xel',
max_file_size = 5, /* MB */
max_rollover_files = 4
),
add target package0.ring_buffer -- Store events in the ring buffer target
(set max_memory = 4096, max_events_limit = 5000)
with
(
MAX_DISPATCH_LATENCY = 120 SECONDS,
startup_state = on
)
go
if not exists (select * from sys.dm_xe_sessions where name = 'system_health')
alter event session system_health on server state=start
go
-- AlwaysOn default session: AlwaysOn_health
-- For now the session is off by default.
if exists(select * from sys.server_event_sessions where name='AlwaysOn_health')
drop event session AlwaysOn_health on server;
go
create event session AlwaysOn_health on server
add event sqlserver.alwayson_ddl_executed,
add event sqlserver.availability_group_lease_expired,
add event sqlserver.availability_replica_automatic_failover_validation,
add event sqlserver.availability_replica_manager_state_change,
add event sqlserver.availability_replica_state,
add event sqlserver.availability_replica_state_change,
add event sqlserver.hadr_db_partner_set_sync_state,
add event lock_redo_blocked,
add event sqlserver.error_reported
(
where
(
--endpoint issue:stopped
[error_number]=(9691)
or [error_number]=(35204)
--endpoint issue:invalid ip address
or [error_number]=(9693)
or [error_number]=(26024)
--endpoint issue:encryption and handshake issue
or [error_number]=(28047)
--endpoint issue:port conflict
or [error_number]=(26023)
or [error_number]=(9692)
--endpoint issue:authentication failure
or [error_number]=(28034)
or [error_number]=(28036)
or [error_number]=(28048)
or [error_number]=(28080)
or [error_number]=(28091)
--endpoint:listening
or [error_number]=(26022)
--endpoint issue:generic message
or [error_number]=(9642)
--alwayson connection timeout information
or [error_number]=(35201) --new connection timeout
or [error_number]=(35202) --connected
or [error_number]=(35206) --existing connection timeout
or [error_number]=(35207) --general connection issue message
--alwayson listener state
or [error_number]=(26069) --started
or [error_number]=(26070) --stopped
--wsfc cluster issues
or [error_number]>(41047) and [error_number]<(41056)
--failover validation message
or [error_number]=(41142)
--availability group resource failure
or [error_number]=(41144)
--database replica role change
or [error_number]=(1480)
--automatic page repair event
or [error_number]=(823)
or [error_number]=(824)
or [error_number]=(829)
--database replica suspended resumed
or [error_number]=(35264)
or [error_number]=(35265)
--alwayson alter ag rollback
or [error_number]=(41188)
or [error_number]=(41189)
)
)
add target package0.event_file
(
set filename = N'AlwaysOn_health.xel',
max_file_size = 5,
max_rollover_files = 4
)
with
(
max_memory = 4 mb,
event_retention_mode = allow_single_event_loss,
max_dispatch_latency = 30 seconds,
max_event_size = 0 mb,
memory_partition_mode = none,
track_causality = off,
startup_state=off
);
go
-------------------------------------------------------------------------------------------------------
-- Extended Events Telemetry Session: telemetry_xevents
--
---------------------------------------------------------------------------------------------------------
if exists(select * from sys.server_event_sessions where name='telemetry_xevents')
drop event session telemetry_xevents on server
go
-- The above code here is only for historical reasons. telemetry_xevents is not
-- defined in $\Sql\Ntdbms\sqlceip\EventSessionDefinition.sql
declare @vdt varchar(99)
select @vdt = convert(varchar,getdate(),113)
raiserror('Finishing at %s',0,1,@vdt)
go
checkpoint
go