我有一个带有内存表的SQL Server 2016数据库,想使用数据库图表功能创建相应的图形。
运行SSMS 18.3.1. 当我启动新的图表时,内存表在下拉菜单中不显示。是否还有其他方法将它们添加到图表中?
注意:在官方文档中,这些被称为内存优化表。请参见介绍内存优化表
我有一个带有内存表的SQL Server 2016数据库,想使用数据库图表功能创建相应的图形。
运行SSMS 18.3.1. 当我启动新的图表时,内存表在下拉菜单中不显示。是否还有其他方法将它们添加到图表中?
注意:在官方文档中,这些被称为内存优化表。请参见介绍内存优化表
在数据库图中,甚至在SQL Server 2019中,您无法添加OLTP对象。
我原以为可以修改[dbo].[sysdiagrams]
中的[definition]
列,但它实际上是未知文件类型的HexString。(我尝试了许多格式但很明显这是一个Microsoft内部类型)
不幸的是,没有提及这是不支持的功能的参考。(我已向此页面发送了评论)
数据库图表不支持 OLTP。您无法在图表中访问内存优化表,因为图表无法将内存优化表的本质视为表,实际上SQL Server会为每个创建的内存优化表类型生成一个DLL,其中包括访问索引和从相关的内存优化表变量检索数据所需的函数。
如果您运行SQL Profiler工具,您将看到在返回的表数据结果集中有一个名为IsMemoryOptimized的列,该列用于内存优化表。我认为由于数据库图表功能较旧(自mssql 2000以来),并且没有定期更新,因此不支持查看较新的内存优化表。