@@ -24,6 +24,49 @@ FILEGROUP [___DATABASE_NAME___] CONTAINS MEMORY_OPTIMIZED_DATA DEFAULT
24
24
( NAME = N'' @databaseName_log'' , FILENAME = N'' @databaseFilePath@databaseName_log.ldf'' , SIZE = 64MB, MAXSIZE = 2048MB, FILEGROWTH = 64MB);
25
25
26
26
ALTER DATABASE [@databaseName] SET COMPATIBILITY_LEVEL = 120;
27
+
28
+ USE [@databaseName];
29
+
30
+ -- configure recommended DB option
31
+ ALTER DATABASE CURRENT SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT=ON;
32
+
33
+ -- memory-optimized table
34
+ CREATE TABLE dbo.table1(
35
+ c1 INT IDENTITY PRIMARY KEY NONCLUSTERED,
36
+ c2 NVARCHAR(4000)
37
+ )
38
+ WITH (MEMORY_OPTIMIZED=ON);
39
+
40
+ -- non-durable table
41
+ CREATE TABLE dbo.temp_table1
42
+ ( c1 INT IDENTITY PRIMARY KEY NONCLUSTERED,
43
+ c2 NVARCHAR(4000))
44
+ WITH (MEMORY_OPTIMIZED=ON,
45
+ DURABILITY=SCHEMA_ONLY);
46
+
47
+ -- memory-optimized table type
48
+ CREATE TYPE dbo.tt_table1 AS TABLE
49
+ ( c1 INT IDENTITY,
50
+ c2 NVARCHAR(4000),
51
+ is_transient BIT NOT NULL DEFAULT (0),
52
+ INDEX ix_c1 HASH (c1) WITH (BUCKET_COUNT=1024))
53
+ WITH (MEMORY_OPTIMIZED=ON);
54
+
55
+ CREATE TABLE dbo.InMemTable1
56
+ (
57
+ keyColumn INT IDENTITY PRIMARY KEY NONCLUSTERED
58
+ ,description CHAR(100) NOT NULL
59
+ )
60
+ WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
61
+
62
+ INSERT dbo.InMemTable1(description)
63
+ VALUES
64
+ (REPLICATE('' A'' , 100))
65
+ ,(REPLICATE('' B'' , 100))
66
+ ,(REPLICATE('' C'' , 100))
67
+ ,(REPLICATE('' D'' , 100))
68
+ ,(REPLICATE('' E'' , 100))
69
+ ,(REPLICATE('' F'' , 100));
27
70
' ;
28
71
29
72
SET @tsqlStatement = REPLACE (@tsqlStatement, ' @databaseName' , @databaseName);
34
77
EXEC sp_executesql @tsqlStatement;
35
78
36
79
37
- IF @debug = 0
38
- BEGIN
80
+ -- https://stackoverflow.com/a/793362/2298061
81
+ DECLARE @UseAndExecStatment NVARCHAR (4000 );
82
+ SET @UseAndExecStatment = N ' USE [' + @databaseName + N ' ]; EXEC sp_executesql @tsqlStatement' ;
83
+
84
+ SET @tsqlStatement = N'
85
+ CREATE PROCEDURE dbo.native_sp
86
+ WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
87
+ AS
88
+ BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'' us_english'' )
89
+ SELECT keyColumn
90
+ , description
91
+ FROM dbo.InMemTable1;
92
+ END;
93
+ --EXECUTE dbo.native_sp;' ;
39
94
40
- USE [ಠ ಠ 14 Test];
41
-
42
- -- configure recommended DB option
43
- ALTER DATABASE CURRENT SET MEMORY_OPTIMIZED_ELEVATE_TO_SNAPSHOT= ON ;
44
-
45
- -- memory-optimized table
46
- CREATE TABLE dbo .table1(
47
- c1 INT IDENTITY PRIMARY KEY NONCLUSTERED ,
48
- c2 NVARCHAR (4000 )
49
- )
50
- WITH (MEMORY_OPTIMIZED = ON );
51
-
52
- -- non-durable table
53
- CREATE TABLE dbo .temp_table1
54
- ( c1 INT IDENTITY PRIMARY KEY NONCLUSTERED ,
55
- c2 NVARCHAR (4000 ))
56
- WITH (MEMORY_OPTIMIZED = ON ,
57
- DURABILITY = SCHEMA_ONLY);
58
-
59
- -- memory-optimized table type
60
- CREATE TYPE dbo .tt_table1 AS TABLE
61
- ( c1 INT IDENTITY ,
62
- c2 NVARCHAR (4000 ),
63
- is_transient BIT NOT NULL DEFAULT (0 ),
64
- INDEX ix_c1 HASH (c1) WITH (BUCKET_COUNT = 1024 ))
65
- WITH (MEMORY_OPTIMIZED = ON );
66
-
67
- CREATE TABLE dbo .InMemTable1
68
- (
69
- keyColumn INT IDENTITY PRIMARY KEY NONCLUSTERED
70
- ,description CHAR (100 ) NOT NULL
71
- )
72
- WITH (MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA);
73
-
74
- INSERT dbo .InMemTable1 (description )
75
- VALUES
76
- (REPLICATE (' A' , 100 ))
77
- ,(REPLICATE (' B' , 100 ))
78
- ,(REPLICATE (' C' , 100 ))
79
- ,(REPLICATE (' D' , 100 ))
80
- ,(REPLICATE (' E' , 100 ))
81
- ,(REPLICATE (' F' , 100 ));
82
-
83
- SET @tsqlStatement = '
84
- CREATE PROCEDURE dbo.native_sp
85
- WITH NATIVE_COMPILATION, SCHEMABINDING, EXECUTE AS OWNER
86
- AS
87
- BEGIN ATOMIC WITH (TRANSACTION ISOLATION LEVEL = SNAPSHOT, LANGUAGE = N'' us_english'' )
88
- SELECT keyColumn
89
- , description
90
- FROM dbo.InMemTable1;
91
- END;' ;
92
- EXEC sp_executesql @tsqlStatement;
93
-
94
- EXECUTE dbo .native_sp ;
95
- END
95
+ EXEC sp_executesql @UseAndExecStatment,
96
+ N ' @tsqlStatement NVARCHAR(MAX)' , @tsqlStatement = @tsqlStatement
0 commit comments