1-) Başlangıçta Database =>Properties=>Filegroups =>MEMORY OPTIMIZED DATA Sekmesinden FG Oluştulur,
Bu işlemi script ile yapmak isterseniz aşağıdaki komutu kullanabilirsiniz.
1 2 3 |
ALTER DATABASE InMemDB ADD FILEGROUP InMemDB_FG CONTAINS MEMORY_OPTIMIZED_DATA ; |
2-) sonraki adımda Database File’ları içine yeni bir datafile row ekleyip, bu rowu oluşturduğumuz File Gruba atayarak In-Memory Oltp file’i database için oluşmuş olur.
1 2 3 4 5 6 7 8 9 |
ALTER DATABASE InMemDB ADD FILE ( NAME=InMemDB_File, FILENAME='K:MSSQL15.AgentMSSQLDATAInMemDB_File') TO FILEGROUP InMemDB_FG; |
3-) Database için In-memory OLTP Aktif edildikten sonra aşağıdaki işlemler ihtiyaca göre yapılır.
a-) Bu adımda oluşturulan tablo veriyi In-Memory tablo içinde tutar fakat Sql Service(Engine) restart olduğunda veriye erişim sağlanamaz.
1 2 3 4 5 6 7 8 9 |
CREATE TABLE dbo.InMEM_TblSchema( [TID] INT NOT NULL INDEX IX_InMEM_TID NONCLUSTERED, [Id] [int] NOT NULL, [Ad] [varchar](60) NULL, ) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY) |
b-) Bu adımda oluşturulan tablo veriyi In-Memory tablo içinde tutar ve Sql Service(Engine) restart olsa dahi veriye kaybı olmaz.
1 2 3 4 5 6 7 8 9 |
CREATE TABLE dbo.InMEM_TblSchemaData( [TID] INT NOT NULL INDEX IX_InMEM_TID NONCLUSTERED, [Id] [int] NOT NULL, [Ad] [varchar](60) NULL, ) WITH (MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_ONLY) |
4-) Oluşturduğumuz In-Memory tabloya ait bilgileri görmek için aşağıdaki script ile kontrol edebiliriz.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
SELECT sfg.name Name, sdf.name logicalFileName, sfg.type_desc, sdf.physical_name FROM sys.filegroups sfg JOIN sys.database_files sdf ON sfg.data_space_id = sdf.data_space_id WHERE sfg.type = 'FX' AND sdf.type = 2 |
“In-Memory OLTP Tablo Oluşturma Part – II” üzerine bir yorum