Skip to content

Commit 1ad3452

Browse files
committed
Merge Ned Otter improvements sp_BlitzInMemoryOLTP, update test In-Memory scripts
1 parent 2889e48 commit 1ad3452

File tree

4 files changed

+636
-1847
lines changed

4 files changed

+636
-1847
lines changed

Scripts/IN_Memory_Example_2014.sql

Lines changed: 40 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,23 @@
22
USE master;
33
GO
44

5-
IF OBJECT_ID('[ಠ ಠ]', '') IS NOT NULL DROP DATABASE [ಠ ಠ];
5+
IF DB_ID(N'ಠ ಠ 14 Test') IS NOT NULL DROP DATABASE [ಠ ಠ 14 Test];
66
GO
77

8-
CREATE DATABASE [ಠ ಠ]
8+
CREATE DATABASE [ಠ ಠ 14 Test]
99
CONTAINMENT = NONE
1010
ON PRIMARY
11-
( NAME = N'ಠ ಠ', FILENAME = N'd:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\ಠ ಠ.mdf', SIZE = 64MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB),
11+
( NAME = N'ಠ ಠ', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 14 Test.mdf', SIZE = 64MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB),
1212
FILEGROUP [ಠ ಠ] CONTAINS MEMORY_OPTIMIZED_DATA DEFAULT
13-
( NAME = N'TESTDB_mod', FILENAME = N'd:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\ಠ ಠ_mod', MAXSIZE = UNLIMITED)
13+
( NAME = N'TESTDB_mod', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 14 Test_mod', MAXSIZE = UNLIMITED)
1414
LOG ON
15-
( NAME = N'TESTDB_log', FILENAME = N'd:\MSSQL\MSSQL12.MSSQLSERVER\MSSQL\DATA\ಠ ಠ_log.ldf', SIZE = 64MB, MAXSIZE = 2048MB, FILEGROWTH = 64MB)
15+
( NAME = N'TESTDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 14 Test_log.ldf', SIZE = 64MB, MAXSIZE = 2048MB, FILEGROWTH = 64MB)
1616
GO
1717

18-
USE [ಠ ಠ];
18+
ALTER DATABASE [ಠ ಠ 14 Test] SET COMPATIBILITY_LEVEL = 120;
19+
GO
20+
21+
USE [ಠ ಠ 14 Test];
1922
GO
2023
-- configure recommended DB option
2124
ALTER DATABASE CURRENT SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=ON
@@ -41,3 +44,34 @@ GO
4144
INDEX ix_c1 HASH (c1) WITH (BUCKET_COUNT=1024))
4245
WITH (MEMORY_OPTIMIZED=ON)
4346
GO
47+
48+
CREATE TABLE dbo.InMemTable1
49+
(
50+
keyColumn INT IDENTITY PRIMARY KEY NONCLUSTERED
51+
,description CHAR(100) NOT NULL
52+
)
53+
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)
54+
55+
INSERT dbo.InMemTable1
56+
(
57+
description
58+
)
59+
VALUES
60+
(REPLICATE('A', 100))
61+
,(REPLICATE('B', 100))
62+
,(REPLICATE('C', 100))
63+
,(REPLICATE('D', 100))
64+
,(REPLICATE('E', 100))
65+
,(REPLICATE('F', 100))
66+
GO
67+
68+
CREATE OR ALTER PROCEDURE dbo.native_sp
69+
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
70+
AS
71+
BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')
72+
SELECT keyColumn
73+
,description
74+
FROM dbo.InMemTable1;
75+
END;
76+
GO
77+
EXECUTE dbo.native_sp;

Scripts/IN_Memory_Example_2017.sql

Lines changed: 41 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,23 @@
11
-- https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/overview-and-usage-scenarios
22
USE master;
33

4-
CREATE DATABASE [ಠ ಠ]
4+
IF DB_ID(N'ಠ ಠ 17 Test') IS NOT NULL DROP DATABASE [ಠ ಠ 17 Test];
5+
6+
CREATE DATABASE [ಠ ಠ 17 Test]
57
CONTAINMENT = NONE
68
ON PRIMARY
7-
( NAME = N'ಠ ಠ', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ.mdf', SIZE = 64MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB),
8-
FILEGROUP [ಠ ಠ] CONTAINS MEMORY_OPTIMIZED_DATA DEFAULT
9-
( NAME = N'TESTDB_mod', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ_mod', MAXSIZE = UNLIMITED)
10-
LOG ON
11-
( NAME = N'TESTDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ_log.ldf', SIZE = 64MB, MAXSIZE = 2048MB, FILEGROWTH = 64MB)
9+
( NAME = N'ಠ ಠ 17 Test', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 17 Test.mdf', SIZE = 64MB, MAXSIZE = UNLIMITED, FILEGROWTH = 64MB),
10+
FILEGROUP [ಠ ಠ 17 Test] CONTAINS MEMORY_OPTIMIZED_DATA DEFAULT
11+
( NAME = N'TESTDB_mod', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 17 Test_mod', MAXSIZE = UNLIMITED)
12+
LOG ON
13+
( NAME = N'TESTDB_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\ಠ ಠ 17 Test_log.ldf', SIZE = 64MB, MAXSIZE = 2048MB, FILEGROWTH = 64MB)
1214
GO
1315

14-
USE [ಠ ಠ];
16+
USE [ಠ ಠ 17 Test];
1517
GO
1618

1719
-- configure recommended DB option
18-
ALTER DATABASE CURRENT SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=ON
20+
ALTER DATABASE CURRENT SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=ON;
1921
GO
2022
-- memory-optimized table
2123
CREATE TABLE dbo.table1
@@ -82,3 +84,34 @@ EXECUTE dbo.usp_ingest_table1 @table1=@table1
8284
SELECT c1, c2 from dbo.table1
8385
SELECT c1, c2 from dbo.temp_table1
8486
GO
87+
88+
CREATE TABLE dbo.InMemTable1
89+
(
90+
keyColumn INT IDENTITY PRIMARY KEY NONCLUSTERED
91+
,description CHAR(100) NOT NULL
92+
)
93+
WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)
94+
95+
INSERT dbo.InMemTable1
96+
(
97+
description
98+
)
99+
VALUES
100+
(REPLICATE('A', 100))
101+
,(REPLICATE('B', 100))
102+
,(REPLICATE('C', 100))
103+
,(REPLICATE('D', 100))
104+
,(REPLICATE('E', 100))
105+
,(REPLICATE('F', 100))
106+
GO
107+
108+
CREATE OR ALTER PROCEDURE dbo.native_sp
109+
WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
110+
AS
111+
BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'us_english')
112+
SELECT keyColumn
113+
,description
114+
FROM dbo.InMemTable1;
115+
END;
116+
GO
117+
EXECUTE dbo.native_sp;

0 commit comments

Comments
 (0)