【发布时间】:2017-03-21 03:17:49
【问题描述】:
我正在使用 SQL Server 2016 来了解内存中 OLTP 表。
我创建了一个数据库mydatabase,然后在上面运行alter命令来创建一个文件组:
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 的对象资源管理器中查看这两个表。它们在我的数据库中 mydatabase > Tables 节点下不可见。我怎么能看到他们?请参阅随附的屏幕截图。
但是如果我运行这个
SELECT
name, object_id, type_desc, durability_desc,
temporal_type, temporal_type_desc
FROM
sys.Tables
我可以看到两张桌子。请看下面的截图。
有什么方法可以让我在对象资源管理器中看到它们?还是这是默认行为?
【问题讨论】:
-
我能够毫无问题地查看表格。您是否尝试刷新表文件夹或数据库文件夹?
-
是的@dco。我也重新启动了管理工作室,但没有用。
-
您使用的是什么版本的 SSMS?
-
Microsoft SQL Server Management Studio 13.0.15700.28 Microsoft Analysis Services 客户端工具 13.0.1700.68 Microsoft 数据访问组件 (MDAC) 6.3.9600.17415 Microsoft MSXML 3.0 5.0 6.0 Microsoft Internet Explorer 9.11.9600.18618 Microsoft .NET Framework 4.0 .30319.42000 操作系统 6.3.9600
标签: c# sql-server sql-server-2016 oltp in-memory-oltp