mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
Merge branch 'master' into jodebrui
This commit is contained in:
-34
@@ -1,34 +0,0 @@
|
||||
** Warnings
|
||||
User level transactions are not supported for memory optimized objects. You must disable the 'Include transactional
|
||||
scripts' deployment option to successfully deploy changes to memory optimized objects.
|
||||
|
||||
** Highlights
|
||||
Tables that will be rebuilt
|
||||
None
|
||||
Clustered indexes that will be dropped
|
||||
[dbo].[sql_ts_th] on [dbo].[TicketReservationDetail]
|
||||
Clustered indexes that will be created
|
||||
None
|
||||
Possible data issues
|
||||
The table [dbo].[TicketReservationDetail] is being dropped and re-created since all non-computed columns within the
|
||||
table have been redefined.
|
||||
|
||||
** User actions
|
||||
Create
|
||||
[mod] (Filegroup)
|
||||
[dbo].[TicketReservationDetail] (Table)
|
||||
[dbo].[InsertReservationDetails] (Procedure)
|
||||
Drop
|
||||
[dbo].[InsertReservationDetails] (Procedure)
|
||||
[dbo].[sql_ts_th] (Primary Key)
|
||||
[dbo].[TicketReservationDetail] (Table)
|
||||
Alter
|
||||
[dbo].[ReadMultipleReservations] (Procedure)
|
||||
[dbo].[BatchInsertReservations] (Procedure)
|
||||
|
||||
** Supporting actions
|
||||
Refresh
|
||||
[dbo].[Demo_Reset] (Procedure)
|
||||
|
||||
The table [dbo].[TicketReservationDetail] is being dropped and re-created since all non-computed columns within the table have been redefined.
|
||||
|
||||
-25
@@ -1,25 +0,0 @@
|
||||
** Warnings
|
||||
User level transactions are not supported for memory optimized objects. You must disable the 'Include transactional
|
||||
scripts' deployment option to successfully deploy changes to memory optimized objects.
|
||||
|
||||
** Highlights
|
||||
Tables that will be rebuilt
|
||||
None
|
||||
Clustered indexes that will be dropped
|
||||
None
|
||||
Clustered indexes that will be created
|
||||
None
|
||||
Possible data issues
|
||||
None
|
||||
|
||||
** User actions
|
||||
Drop
|
||||
[dbo].[InsertReservationDetails] (Procedure)
|
||||
Create
|
||||
[dbo].[TicketReservationDetail] (Table)
|
||||
[dbo].[InsertReservationDetails] (Procedure)
|
||||
Alter
|
||||
[dbo].[ReadMultipleReservations] (Procedure)
|
||||
[dbo].[BatchInsertReservations] (Procedure)
|
||||
|
||||
** Supporting actions
|
||||
-258
@@ -1,258 +0,0 @@
|
||||
/*
|
||||
Deployment script for TicketReservations
|
||||
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
*/
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
||||
|
||||
SET NUMERIC_ROUNDABORT OFF;
|
||||
|
||||
|
||||
GO
|
||||
:setvar DatabaseName "TicketReservations"
|
||||
:setvar DefaultFilePrefix "TicketReservations"
|
||||
:setvar DefaultDataPath "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\"
|
||||
:setvar DefaultLogPath "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\"
|
||||
|
||||
GO
|
||||
:on error exit
|
||||
GO
|
||||
/*
|
||||
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
|
||||
To re-enable the script after enabling SQLCMD mode, execute the following:
|
||||
SET NOEXEC OFF;
|
||||
*/
|
||||
:setvar __IsSqlCmdEnabled "True"
|
||||
GO
|
||||
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
||||
BEGIN
|
||||
PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
|
||||
SET NOEXEC ON;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Creating [mod]...';
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
ADD FILEGROUP [mod] CONTAINS MEMORY_OPTIMIZED_DATA;
|
||||
|
||||
|
||||
GO
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
ADD FILE (NAME = [mod_4C0B6475], FILENAME = N'$(DefaultDataPath)$(DefaultFilePrefix)_mod_4C0B6475.mdf') TO FILEGROUP [mod];
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET ANSI_NULLS ON,
|
||||
ANSI_PADDING ON,
|
||||
ANSI_WARNINGS ON,
|
||||
ARITHABORT ON,
|
||||
CONCAT_NULL_YIELDS_NULL ON,
|
||||
QUOTED_IDENTIFIER ON,
|
||||
ANSI_NULL_DEFAULT ON,
|
||||
CURSOR_DEFAULT LOCAL
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET PAGE_VERIFY NONE,
|
||||
DISABLE_BROKER
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
IF EXISTS (SELECT 1
|
||||
FROM [master].[dbo].[sysdatabases]
|
||||
WHERE [name] = N'$(DatabaseName)')
|
||||
BEGIN
|
||||
ALTER DATABASE [$(DatabaseName)]
|
||||
SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT = ON
|
||||
WITH ROLLBACK IMMEDIATE;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
USE [$(DatabaseName)];
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
The table [dbo].[TicketReservationDetail] is being dropped and re-created since all non-computed columns within the table have been redefined.
|
||||
*/
|
||||
|
||||
IF EXISTS (select top 1 1 from [dbo].[TicketReservationDetail])
|
||||
RAISERROR (N'Rows were detected. The schema update is terminating because data loss might occur.', 16, 127) WITH NOWAIT
|
||||
|
||||
GO
|
||||
PRINT N'Dropping [dbo].[InsertReservationDetails]...';
|
||||
|
||||
|
||||
GO
|
||||
DROP PROCEDURE [dbo].[InsertReservationDetails];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Dropping [dbo].[sql_ts_th]...';
|
||||
|
||||
|
||||
GO
|
||||
ALTER TABLE [dbo].[TicketReservationDetail] DROP CONSTRAINT [sql_ts_th];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Dropping [dbo].[TicketReservationDetail]...';
|
||||
|
||||
|
||||
GO
|
||||
DROP TABLE [dbo].[TicketReservationDetail];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Creating [dbo].[TicketReservationDetail]...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[TicketReservationDetail] (
|
||||
[TicketReservationID] BIGINT NOT NULL,
|
||||
[TicketReservationDetailID] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[Quantity] INT NOT NULL,
|
||||
[FlightID] INT NOT NULL,
|
||||
[Comment] NVARCHAR (1000) NULL,
|
||||
CONSTRAINT [PK_TicketReservationDetail] PRIMARY KEY NONCLUSTERED ([TicketReservationDetailID] ASC)
|
||||
)
|
||||
WITH (MEMORY_OPTIMIZED = ON);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Creating [dbo].[InsertReservationDetails]...';
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @loop int = 0;
|
||||
WHILE (@loop < @LineCount)
|
||||
BEGIN
|
||||
INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment)
|
||||
VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment);
|
||||
SET @loop += 1;
|
||||
END
|
||||
END
|
||||
*/
|
||||
|
||||
|
||||
-- natively compiled version of the stored procedure:
|
||||
CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int)
|
||||
WITH NATIVE_COMPILATION, SCHEMABINDING
|
||||
as
|
||||
BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL=SNAPSHOT, LANGUAGE=N'English')
|
||||
|
||||
|
||||
DECLARE @loop int = 0;
|
||||
while (@loop < @LineCount)
|
||||
BEGIN
|
||||
INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment)
|
||||
VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment);
|
||||
SET @loop += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Altering [dbo].[ReadMultipleReservations]...';
|
||||
|
||||
|
||||
GO
|
||||
ALTER PROCEDURE ReadMultipleReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tranCount int = 0;
|
||||
DECLARE @CurrentSeq int = 0;
|
||||
DECLARE @Sum int = 0;
|
||||
DECLARE @loop int = 0;
|
||||
WHILE (@tranCount < @ServerTransactions)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SELECT @CurrentSeq = RAND() * IDENT_CURRENT(N'dbo.TicketReservationDetail')
|
||||
SET @loop = 0
|
||||
BEGIN TRAN
|
||||
WHILE (@loop < @RowsPerTransaction)
|
||||
BEGIN
|
||||
SELECT @Sum += FlightID from dbo.TicketReservationDetail where TicketReservationDetailID = @CurrentSeq - @loop;
|
||||
SET @loop += 1;
|
||||
END
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF XACT_STATE() = -1
|
||||
ROLLBACK TRAN
|
||||
;THROW
|
||||
END CATCH
|
||||
SET @tranCount += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Altering [dbo].[BatchInsertReservations]...';
|
||||
|
||||
|
||||
GO
|
||||
-- helper stored procedure to
|
||||
|
||||
ALTER PROCEDURE BatchInsertReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tranCount int = 0;
|
||||
DECLARE @TS Datetime2;
|
||||
DECLARE @Char_TS NVARCHAR(23);
|
||||
DECLARE @CurrentSeq int = 0;
|
||||
|
||||
SET @TS = SYSDATETIME();
|
||||
SET @Char_TS = CAST(@TS AS NVARCHAR(23));
|
||||
WHILE (@tranCount < @ServerTransactions)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
BEGIN TRAN
|
||||
SET @CurrentSeq = NEXT VALUE FOR TicketReservationSequence ;
|
||||
EXEC InsertReservationDetails @CurrentSeq, @RowsPerTransaction, @Char_TS, @ThreadID;
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF XACT_STATE() = -1
|
||||
ROLLBACK TRAN
|
||||
;THROW
|
||||
END CATCH
|
||||
SET @tranCount += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Refreshing [dbo].[Demo_Reset]...';
|
||||
|
||||
|
||||
GO
|
||||
EXECUTE sp_refreshsqlmodule N'[dbo].[Demo_Reset]';
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Update complete.';
|
||||
|
||||
|
||||
GO
|
||||
-171
@@ -1,171 +0,0 @@
|
||||
/*
|
||||
Deployment script for TicketReservations
|
||||
|
||||
This code was generated by a tool.
|
||||
Changes to this file may cause incorrect behavior and will be lost if
|
||||
the code is regenerated.
|
||||
*/
|
||||
|
||||
GO
|
||||
SET ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS, ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER ON;
|
||||
|
||||
SET NUMERIC_ROUNDABORT OFF;
|
||||
|
||||
|
||||
GO
|
||||
:setvar DatabaseName "TicketReservations"
|
||||
:setvar DefaultFilePrefix "TicketReservations"
|
||||
:setvar DefaultDataPath "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\"
|
||||
:setvar DefaultLogPath "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\"
|
||||
|
||||
GO
|
||||
:on error exit
|
||||
GO
|
||||
/*
|
||||
Detect SQLCMD mode and disable script execution if SQLCMD mode is not supported.
|
||||
To re-enable the script after enabling SQLCMD mode, execute the following:
|
||||
SET NOEXEC OFF;
|
||||
*/
|
||||
:setvar __IsSqlCmdEnabled "True"
|
||||
GO
|
||||
IF N'$(__IsSqlCmdEnabled)' NOT LIKE N'True'
|
||||
BEGIN
|
||||
PRINT N'SQLCMD mode must be enabled to successfully execute this script.';
|
||||
SET NOEXEC ON;
|
||||
END
|
||||
|
||||
|
||||
GO
|
||||
USE [$(DatabaseName)];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Dropping [dbo].[InsertReservationDetails]...';
|
||||
|
||||
|
||||
GO
|
||||
DROP PROCEDURE [dbo].[InsertReservationDetails];
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Creating [dbo].[TicketReservationDetail]...';
|
||||
|
||||
|
||||
GO
|
||||
CREATE TABLE [dbo].[TicketReservationDetail] (
|
||||
[TicketReservationID] BIGINT NOT NULL,
|
||||
[TicketReservationDetailID] BIGINT IDENTITY (1, 1) NOT NULL,
|
||||
[Quantity] INT NOT NULL,
|
||||
[FlightID] INT NOT NULL,
|
||||
[Comment] NVARCHAR (1000) NULL,
|
||||
CONSTRAINT [PK_TicketReservationDetail] PRIMARY KEY NONCLUSTERED ([TicketReservationDetailID] ASC)
|
||||
)
|
||||
WITH (MEMORY_OPTIMIZED = ON);
|
||||
|
||||
|
||||
GO
|
||||
PRINT N'Creating [dbo].[InsertReservationDetails]...';
|
||||
|
||||
|
||||
GO
|
||||
/*
|
||||
CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @loop int = 0;
|
||||
WHILE (@loop < @LineCount)
|
||||
BEGIN
|
||||
INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment)
|
||||
VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment);
|
||||
SET @loop += 1;
|
||||
END
|
||||
END
|
||||
*/
|
||||
|
||||
|
||||
-- natively compiled version of the stored procedure:
|
||||
CREATE PROCEDURE InsertReservationDetails(@TicketReservationID int, @LineCount int, @Comment NVARCHAR(1000), @FlightID int)
|
||||
WITH NATIVE_COMPILATION, SCHEMABINDING
|
||||
as
|
||||
BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL=SNAPSHOT, LANGUAGE=N'English')
|
||||
|
||||
|
||||
DECLARE @loop int = 0;
|
||||
while (@loop < @LineCount)
|
||||
BEGIN
|
||||
INSERT INTO dbo.TicketReservationDetail (TicketReservationID, Quantity, FlightID, Comment)
|
||||
VALUES(@TicketReservationID, @loop % 8 + 1, @FlightID, @Comment);
|
||||
SET @loop += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Altering [dbo].[ReadMultipleReservations]...';
|
||||
|
||||
|
||||
GO
|
||||
ALTER PROCEDURE ReadMultipleReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tranCount int = 0;
|
||||
DECLARE @CurrentSeq int = 0;
|
||||
DECLARE @Sum int = 0;
|
||||
DECLARE @loop int = 0;
|
||||
WHILE (@tranCount < @ServerTransactions)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
SELECT @CurrentSeq = RAND() * IDENT_CURRENT(N'dbo.TicketReservationDetail')
|
||||
SET @loop = 0
|
||||
BEGIN TRAN
|
||||
WHILE (@loop < @RowsPerTransaction)
|
||||
BEGIN
|
||||
SELECT @Sum += FlightID from dbo.TicketReservationDetail where TicketReservationDetailID = @CurrentSeq - @loop;
|
||||
SET @loop += 1;
|
||||
END
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF XACT_STATE() = -1
|
||||
ROLLBACK TRAN
|
||||
;THROW
|
||||
END CATCH
|
||||
SET @tranCount += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Altering [dbo].[BatchInsertReservations]...';
|
||||
|
||||
|
||||
GO
|
||||
-- helper stored procedure to
|
||||
|
||||
ALTER PROCEDURE BatchInsertReservations(@ServerTransactions int, @RowsPerTransaction int, @ThreadID int)
|
||||
AS
|
||||
BEGIN
|
||||
DECLARE @tranCount int = 0;
|
||||
DECLARE @TS Datetime2;
|
||||
DECLARE @Char_TS NVARCHAR(23);
|
||||
DECLARE @CurrentSeq int = 0;
|
||||
|
||||
SET @TS = SYSDATETIME();
|
||||
SET @Char_TS = CAST(@TS AS NVARCHAR(23));
|
||||
WHILE (@tranCount < @ServerTransactions)
|
||||
BEGIN
|
||||
BEGIN TRY
|
||||
BEGIN TRAN
|
||||
SET @CurrentSeq = NEXT VALUE FOR TicketReservationSequence ;
|
||||
EXEC InsertReservationDetails @CurrentSeq, @RowsPerTransaction, @Char_TS, @ThreadID;
|
||||
COMMIT TRAN
|
||||
END TRY
|
||||
BEGIN CATCH
|
||||
IF XACT_STATE() = -1
|
||||
ROLLBACK TRAN
|
||||
;THROW
|
||||
END CATCH
|
||||
SET @tranCount += 1;
|
||||
END
|
||||
END
|
||||
GO
|
||||
PRINT N'Update complete.';
|
||||
|
||||
|
||||
GO
|
||||
Reference in New Issue
Block a user