Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
SQL Server Tiger Team
Programmability Features
• In-memory OLTP
• Columnstore
• Row level security
• Dynamic data masking
• Always encrypted
Performance/Operational Features
• Always On Availability Groups
• Scale limits (CPU, memory, DB size)
• Virtualization rights
SQL Server 2016 Edition Comparison Chart
SQL Server Tiger Team
Feature
Row-level security
Dynamic Data Masking
Change data capture*
Database snapshot
Columnstore
Partitioning
Compression
In Memory OLTP
Always Encrypted
PolyBase
Fine grained auditing
Multiple filestream containers
RTM
Standard Web Express
Yes
No
No
Yes
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
No
Local DB
No
No
No
No
No
No
No
No
No
No
No
No
SP1
Standard Web Express
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
No*
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Local DB
Yes
Yes
No*
Yes
Yes
Yes
Yes
No**
Yes
No
Yes
Yes
* Requires SQL Server Agent which is not part of SQL Server Express Editions.
** Requires creating filestream file groups which is not possible in Local DB due to insufficient permissions.
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
USE HINT
DISABLE_OPTIMIZED_NESTED_LOOP
FORCE_LEGACY_CARDINALITY_ESTIMATION
ENABLE_QUERY_OPTIMIZER_HOTFIXES
DISABLE_PARAMETER_SNIFFING
ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES
DISABLE_OPTIMIZER_ROWGOAL
ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS
ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS
FORCE_DEFAULT_CARDINALITY_ESTIMATION
TF ?
2340
9481
4199
4136
4137 for OldCE
9471 for NewCE
4138
4139
9476 on NewCE
2312
DB Option ?
Yes
Yes
Yes
aka.ms/traceflags
SQL Server Tiger Team
CREATE TABLE T3
(C1 int PRIMARY KEY,
C2 varchar(50) NULL,
C3 int NULL,
C4 int ) ;
GO
ALTER TABLE T3
ALTER COLUMN C2 varchar(50) COLLATE
Latin1_General_BIN;
GO
SQL Server Tiger Team
SP1
InputMemoryGrant
OutputMemoryGrant
UsedMemoryGrant
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
KB
3170113
SQL Server Tiger Team
SQL Server Tiger Team
Infra Type
Legacy
Lightweight in SQL Server 2014
SP2/2016
Lightweight in SQL Server 2016 SP1
Overhead percent (up to)
no active
Active xEvent
xEvents
query_post_execution_showplan
75.5
93.17
3.5
62.02
2
14.3
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
Not supported
as production
database.
KB 3177838
Database
Number of Objects
SSMS
sp_clonedatabase
DBCC CLONEDATABASE
Large Bank DB
20453
Scripting error
378 seconds*
33 seconds (11x)
Internal MS DB
80819
OOM
1200 seconds*
24 seconds (50x)
ERP DB
1008002
OOM
7200 seconds*
122 seconds (60x)
SQL Server Tiger Team
WITH
NO_STATISTICS
WITH
NO_QUERYSTORE
WITH
NO_STATISTICS, NO_QUERYSTORE
SQL Server Tiger Team
1 = Conventional Memory Model
2 = Lock Pages in Memory
3 = Large Pages in Memory
SQL Server Tiger Team
SQL Server Tiger Team
2016 (RTM) 13.0.1601.5
2016-11-03 14:32:55.20 spid4s
2016-11-03 14:32:55.22 spid4s
2016-11-03 14:32:55.39 spid4s
2016-11-03 14:32:57.45 spid14s
2016-11-03 14:32:57.45 spid16s
2016-11-03 14:32:57.45 spid6s
2016-11-03 14:32:57.45 spid17s
2016-11-03 14:32:57.49 spid16s
2016-11-03 14:32:57.49 spid17s
2016-11-03 14:32:57.50 spid14s
2016-11-03 14:32:57.56 spid6s
2016-11-03 14:32:57.67 spid14s
2016-11-03 14:32:57.86 spid6s
2016-11-03 14:32:58.02 spid17s
2016-11-03 14:32:58.05 spid16s
2016-11-03 14:32:58.49 spid19s
2016-11-03 14:32:58.49 spid18s
2016-11-03 14:32:58.49 spid19s
2016-11-03 14:32:58.49 spid18s
2016-11-03 14:32:58.60 spid19s
2016-11-03 14:32:58.60 spid19s
2016-11-03 14:32:58.66 spid18s
2016-11-03 14:32:58.66 spid18s
2016-11-03 14:32:58.79 spid6s
2016-11-03 14:32:58.89 spid6s
2016-11-03 14:32:59.34 spid6s
2016-11-03 14:32:59.95 spid19s
2016-11-03 14:33:00.11 spid18s
2016-11-03 14:33:03.51 spid6s
2016-11-03 14:33:03.60 spid6s
2016-11-03 14:33:03.79 spid6s
2016-11-03 14:33:07.68 spid19s
2016-11-03 14:33:07.68 spid19s
2016-11-03 14:33:07.68 spid19s
2016-11-03 14:33:07.68 spid19s
2016-11-03 14:33:07.95 spid16s
2016-11-03 14:33:07.96 spid16s
2016-11-03 14:33:07.96 spid19s
2016-11-03 14:33:16.92 spid18s
2016-11-03 14:33:16.92 spid18s
2016-11-03 14:33:16.92 spid18s
2016-11-03 14:33:16.92 spid18s
2016-11-03 14:33:17.14 spid17s
2016-11-03 14:33:17.14 spid17s
2016-11-03 14:33:17.14 spid14s
[INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [1] 'master'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'WideWorldImporters'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [6] 'WideWorldImportersDW'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'WideWorldImporters'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [6] 'WideWorldImportersDW'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [4] 'msdb'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [32767] 'mssqlsystemresource'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [6] 'WideWorldImportersDW'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'WideWorldImporters'. XTP Engine version is 2.9.
[INFO] Database ID: [5]. XTP page allocations bound to resource pool 'default'.
[INFO] Database ID: [6]. XTP page allocations bound to resource pool 'default'.
[INFO] HostCommonStorage::AddContainer(): Database ID: [5]. Adding container 'E:\MSSQL13.RTMENT\WideWorldImporters_InMemory_Data_1\$HKv2\' to hekaton storage.
[INFO] HostCommonStorage::AddContainer(): Database ID: [6]. Adding container 'E:\MSSQL13.RTMENT\WideWorldImportersDW_InMemory_Data_1\$HKv2\' to hekaton storage.
[INFO] RootFileDeserialize(): Database ID: [5]. Root file: {3E231B6B-9EF1-4AE3-A1DB-BD01DC866DD9}, version: 2.9, watermark: 40, RecoveryLsn: 00000272:00005EC4:0002, RecoveryCheckpointId: 4, RecoveryCheckpointTimestamp: 0xb
[INFO] Database ID: [5]. Deleting unrecoverable checkpoint table row (id: 2).
[INFO] RootFileDeserialize(): Database ID: [6]. Root file: {01177532-CE1C-4F26-BBFD-08AC9719C58E}, version: 2.9, watermark: 160, RecoveryLsn: 00000040:0000017E:0002, RecoveryCheckpointId: 5, RecoveryCheckpointTimestamp: 0x11
[INFO] Database ID: [6]. Deleting unrecoverable checkpoint table row (id: 3).
[INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [3] 'model'. XTP Engine version is 0.0.
[INFO] HkCkptLoadInternalEx(): Database ID: [5]. Root file: {3E231B6B-9EF1-4AE3-A1DB-BD01DC866DD9}, watermark: 40, RecoveryLsn: 00000272:00005EC4:0002, RecoveryCheckpointId: 4, RecoveryCheckpointTimestamp: 0xb
[INFO] HkCkptLoadInternalEx(): Database ID: [6]. Root file: {01177532-CE1C-4F26-BBFD-08AC9719C58E}, watermark: 160, RecoveryLsn: 00000040:0000017E:0002, RecoveryCheckpointId: 5, RecoveryCheckpointTimestamp: 0x11
[INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [2] 'tempdb'. XTP Engine version is 0.0.
[INFO] HkRecoverFromLog(): Database ID: [5]. Log recovery scan from 00000272:00005EC4:0002 to 00000272:000062B0:0001.
[INFO] HkRecoverFromLog(): Database ID: [5]. Log recovery open segment scan from 00000272:00005EC4:0002 to 00000272:000062B0:0001.
[INFO] HkRecoverFromLog(): Database ID: [5]. Log recovery open segment scan completed at 00000272:00006260:0001.
[INFO] HkDatabaseUpdateCheckpointingState(): Database ID: [5]. Future checkpoints are enabled now (RecoveryLSN: 00000272:00005EC4:0002 UndeployLSN: 00000000:00000000:0000).
[INFO] HkHostStartController(): Database ID: [5]. IsAcceptLogMode=false IsTransitionToLogging=false.
[INFO] HkHostControllerCtxtImpl::StartController(): Database ID: [5]. Starting controller thread on a dedicated scheduler.
[INFO] HkHostCheckpointController::DoWork(): Database ID: [5]. Controller scan started at 00000272:00005EC4:0001
[INFO] HkRecoverFromLog(): Database ID: [6]. Log recovery scan from 00000040:0000017E:0002 to 00000040:000004C0:0001.
[INFO] HkRecoverFromLog(): Database ID: [6]. Log recovery open segment scan from 00000040:0000017E:0002 to 00000040:000004C0:0001.
[INFO] HkRecoverFromLog(): Database ID: [6]. Log recovery open segment scan completed at 00000040:00000468:0001.
[INFO] HkDatabaseUpdateCheckpointingState(): Database ID: [6]. Future checkpoints are enabled now (RecoveryLSN: 00000040:0000017E:0002 UndeployLSN: 00000000:00000000:0000).
[INFO] HkHostStartController(): Database ID: [6]. IsAcceptLogMode=false IsTransitionToLogging=false.
[INFO] HkHostControllerCtxtImpl::StartController(): Database ID: [6]. Starting controller thread on a dedicated scheduler.
[INFO] HkHostCheckpointController::DoWork(): Database ID: [6]. Controller scan started at 00000040:0000017E:0001
2016 (SP1) 13.0.4001.0
2016-11-03 14:56:29.00 spid16s
2016-11-03 14:56:29.03 spid17s
2016-11-03 14:56:29.16 spid16s
2016-11-03 14:56:29.18 spid17s
2016-11-03 14:56:29.26 spid18s
2016-11-03 14:56:29.30 spid19s
2016-11-03 14:56:29.45 spid18s
2016-11-03 14:56:29.48 spid19s
[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'WideWorldImporters'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [6] 'WideWorldImportersDW'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [5] 'WideWorldImporters'. XTP Engine version is 2.9.
[INFO] HkHostDbCtxt::Initialize(): Database ID: [6] 'WideWorldImportersDW'. XTP Engine version is 2.9.
[INFO] Database ID: [5]. Deleting unrecoverable checkpoint table row (id: 2).
[INFO] Database ID: [6]. Deleting unrecoverable checkpoint table row (id: 3).
[INFO] HkCkptLoadInternalEx(): Database ID: [5]. Root file: {3E231B6B-9EF1-4AE3-A1DB-BD01DC866DD9}, watermark: 40, RecoveryLsn: 00000272:00005EC4:0002, RecoveryCheckpointId: 4, RecoveryCheckpointTimestamp: 0xb
[INFO] HkCkptLoadInternalEx(): Database ID: [6]. Root file: {01177532-CE1C-4F26-BBFD-08AC9719C58E}, watermark: 160, RecoveryLsn: 00000040:0000017E:0002, RecoveryCheckpointId: 5, RecoveryCheckpointTimestamp: 0x11
SQL Server Tiger Team
2016-11-16 01:42:25.74 spid4s
Starting up database 'tempdb'.
2016-11-16 01:42:26.11 spid4s
The tempdb database has 4 data file(s).
2016-11-16 01:42:26.11 spid4s
The tempdb database data files are not configured
with the same initial size and autogrowth settings. To reduce potential allocation
contention, the initial size and autogrowth of the files should be same.
SQL Server Tiger Team
SQL Server Tiger Team
KB
3180087
SQL Server Tiger Team
•
recovery_unit_harden_log_timestamps
•
•
•
log_block_pushed_to_logpool
•
hadr_logblock_compression
•
hadr_log_block_decompression
•
hadr_transport_receive_log_block_message
•
•
•
•
•
•
hadr_log_block_group_commit
•
hadr_capture_filestream_wait
•
hadr_lsn_send_complete
•
hadr_receive_harden_lsn_message
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
SQL Server Tiger Team
SQL Server Tiger Team
Latency?
SQL Server Tiger Team
SQL Server Tiger Team
1.
2.
3.
4.
5.
6.
SQL Server Errorlog from the time of the failure
Windows Application and System Event logs from the time of the failure
All the Failover Cluster Instance Diagnostics log (up to a maximum of 10
rollover .xel files by default)
All the AlwaysOn Extended Event session log files (up to a maximum of 4
rollover .xel files by default)
System Health Session Extended Event session files (optional as the
component health state information is present in #4)
Windows Cluster log
SQL Server Tiger Team
SQL Server Tiger Team
• If the table does not exist or if change tracking is not enabled, appropriate
error messages will be thrown.
• This stored procedure will call another internal stored procedure that sets
the internal table objects to be visible for this sp (so that user need not
have DAC connection to access change tracking side tables) and clears up
contents from the change tracking side table based on the invalid cleanup
version (which it gets from sys.change_tracking_tables dmv).
• While it is running, it will show the information of total rows deleted (for
every 5000 rows).
KB
3173157
SQL Server Tiger Team
KB
3170123
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team
SQL Server Tiger Team