mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
87 lines
2.4 KiB
Transact-SQL
87 lines
2.4 KiB
Transact-SQL
-- Insert one OrderLine that with PackageTypeID=(0) will cause regression
|
|
INSERT INTO Sales.OrderLines(OrderId, StockItemID, Description, PAckageTypeID, quantity, unitprice, taxrate, PickedQuantity,LastEditedBy)
|
|
SELECT TOP 1 OrderID, StockItemID, Description, PackageTypeID = 0, Quantity, UnitPrice, taxrate , PickedQuantity,LastEditedBy
|
|
FROM Sales.OrderLines;
|
|
|
|
DROP INDEX IF EXISTS [NCCX_Sales_OrderLines] ON [Sales].[OrderLines]
|
|
|
|
CREATE NONCLUSTERED COLUMNSTORE INDEX [NCCX_Sales_OrderLines] ON [Sales].[OrderLines]
|
|
(
|
|
[OrderID],
|
|
[StockItemID],
|
|
[Description],
|
|
[Quantity],
|
|
[UnitPrice],
|
|
[PickedQuantity],
|
|
[PackageTypeID] -- adding package type id for demo purpose
|
|
)WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0)
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[initialize]
|
|
AS BEGIN
|
|
|
|
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
|
|
ALTER DATABASE current SET QUERY_STORE CLEAR ALL;
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[report] (@packagetypeid int)
|
|
AS BEGIN
|
|
|
|
EXEC sp_executesql N'select avg([UnitPrice]*[Quantity])
|
|
from Sales.OrderLines
|
|
where PackageTypeID = @packagetypeid', N'@packagetypeid int', @packagetypeid;
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[regression]
|
|
AS BEGIN
|
|
|
|
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
|
|
BEGIN
|
|
declare @packagetypeid int = 0;
|
|
exec report @packagetypeid;
|
|
END
|
|
|
|
END
|
|
GO
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[auto_tuning_on]
|
|
AS BEGIN
|
|
|
|
ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON);
|
|
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
|
|
ALTER DATABASE current SET QUERY_STORE CLEAR ALL;
|
|
|
|
END
|
|
GO
|
|
|
|
|
|
CREATE OR ALTER PROCEDURE [dbo].[auto_tuning_off]
|
|
AS BEGIN
|
|
|
|
ALTER DATABASE current SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = OFF);
|
|
ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE;
|
|
ALTER DATABASE current SET QUERY_STORE CLEAR ALL;
|
|
|
|
END
|
|
GO
|
|
/*
|
|
|
|
CREATE EVENT SESSION [APC - plans that are not corrected] ON DATABASE
|
|
ADD EVENT qds.automatic_tuning_plan_regression_detection_check_completed(
|
|
WHERE ((([is_regression_detected]=(1))
|
|
AND ([is_regression_corrected]=(0)))
|
|
AND ([option_id]=(1))))
|
|
-- Use file target only on SQL Server 2017:
|
|
-- ADD TARGET package0.event_file(SET filename=N'plans_that_are_not_corrected')
|
|
ADD TARGET package0.ring_buffer (SET max_memory = 1000)
|
|
WITH (STARTUP_STATE=ON);
|
|
GO
|
|
|
|
ALTER EVENT SESSION [APC - plans that are not corrected] ON SERVER STATE = start;
|
|
*/ |