I'm using SQL Server 2016 to learn about in-memory OLTP tables.
I created a database mydatabase
and then run alter commands on this to create a file group:
ALTER DATABASE mydatabase
ADD FILEGROUP [mydatabase_mod] CONTAINS MEMORY_OPTIMIZED_DATA;
To create a container on this group:-
ALTER DATABASE mydatabase
ADD FILE (name = [mydatabase_dir], filename= 'e:\Learn\mydatabase_dir')
TO FILEGROUP mydatabase_mod;
These commands executed successfully, and then I created memory optimized durable and non durable tables in this database; mytable_durable
and mytable_non_durable
are created successfully.
CREATE TABLE [dbo].[mytable_durable]
(
c1 INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=1000000),
c2 NCHAR(48) NOT NULL
) WITH (MEMORY_OPTIMIZED=ON, DURABILITY = SCHEMA_AND_DATA);
CREATE TABLE [dbo].[mytable_non_durable]
(
c1 INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=1000000),
c2 NCHAR(48) NOT NULL
) WITH (MEMORY_OPTIMIZED=ON, DURABILITY = SCHEMA_ONLY);
Now I want to see these two tables in object explorer in SQL Server 2016. They are not visible in my database under mydatabase > Tables
node. How can I see them? Please see the attached screenshot.
But if I run this
SELECT
name, object_id, type_desc, durability_desc,
temporal_type, temporal_type_desc
FROM
sys.Tables
I can see both tables. Please see following screenshot.
Is there any way where I can see them in object explorer?. Or is this default behaviour?