1

インメモリ OLTP テーブルについて学習するために SQL Server 2016 を使用しています。

データベースをmydatabase作成し、これに対して変更コマンドを実行して、ファイル グループを作成します。

ALTER DATABASE mydatabase 
    ADD FILEGROUP [mydatabase_mod] CONTAINS MEMORY_OPTIMIZED_DATA;  

このグループにコンテナを作成するには:-

ALTER DATABASE mydatabase 
    ADD FILE (name = [mydatabase_dir], filename= 'e:\Learn\mydatabase_dir')  
        TO FILEGROUP mydatabase_mod;  

これらのコマンドが正常に実行された後、このデータベースにメモリ最適化された永続テーブルと非永続テーブルを作成しました。mytable_durable正常にmytable_non_durable作成されます。

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);  

SQL Server 2016 のオブジェクト エクスプローラーでこれら 2 つのテーブルを表示したいと思いますmydatabase > Tables。ノードの下のデータベースには表示されません。どうすればそれらを見ることができますか? 添付のスクリーンショットをご覧ください。

ここに画像の説明を入力

しかし、これを実行すると

SELECT 
    name, object_id, type_desc, durability_desc, 
    temporal_type, temporal_type_desc
FROM 
    sys.Tables

両方のテーブルが見えます。次のスクリーンショットをご覧ください。

ここに画像の説明を入力

オブジェクト エクスプローラーでそれらを表示する方法はありますか? または、これはデフォルトの動作ですか?

4

2 に答える 2