|
1 | 1 | -- https://docs.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/overview-and-usage-scenarios
|
2 | 2 | USE master;
|
3 | 3 |
|
4 |
| -CREATE DATABASE [ಠ ಠ] |
| 4 | +IF DB_ID(N'ಠ ಠ 17 Test') IS NOT NULL DROP DATABASE [ಠ ಠ 17 Test]; |
| 5 | + |
| 6 | +CREATE DATABASE [ಠ ಠ 17 Test] |
5 | 7 | CONTAINMENT = NONE
|
6 | 8 | 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) |
12 | 14 | GO
|
13 | 15 |
|
14 |
| -USE [ಠ ಠ]; |
| 16 | +USE [ಠ ಠ 17 Test]; |
15 | 17 | GO
|
16 | 18 |
|
17 | 19 | -- 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; |
19 | 21 | GO
|
20 | 22 | -- memory-optimized table
|
21 | 23 | CREATE TABLE dbo.table1
|
@@ -82,3 +84,34 @@ EXECUTE dbo.usp_ingest_table1 @table1=@table1
|
82 | 84 | SELECT c1, c2 from dbo.table1
|
83 | 85 | SELECT c1, c2 from dbo.temp_table1
|
84 | 86 | 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