我想通过 SQL 查询获取任何数据库的信息,SQL Server 2016
无论它是否已设置为内存优化。我知道以下查询
SELECT DatabasePropertyEx('DATABASENAME', 'IsXTPSupported');
告诉您是否可以(通过设置内存优化数据文件组)将数据库设置在内存表中。但我想知道 db 是否已经设置为包含在内存表中,即它的内存优化数据文件组是否已经设置?
对于任何给定的数据库,我如何通过 SQL 查询来实现这一点?
我想通过 SQL 查询获取任何数据库的信息,SQL Server 2016
无论它是否已设置为内存优化。我知道以下查询
SELECT DatabasePropertyEx('DATABASENAME', 'IsXTPSupported');
告诉您是否可以(通过设置内存优化数据文件组)将数据库设置在内存表中。但我想知道 db 是否已经设置为包含在内存表中,即它的内存优化数据文件组是否已经设置?
对于任何给定的数据库,我如何通过 SQL 查询来实现这一点?
谷歌搜索你的问题的标题我发现了这个:https ://msdn.microsoft.com/en-CA/library/dn232522.aspx
SELECT
quotename(schema_name(o.schema_id)) + N'.' + quotename(o.name) AS [table],
s.name AS [statistics object],
1-s.no_recompute AS [auto-update enabled]
FROM sys.stats s JOIN sys.tables o ON s.object_id=o.object_id
WHERE o.is_memory_optimized=1
很多方法......比上面列表的另一种选择:
SELECT type, name, memory_node_id, pages_kb/1024 AS pages_MB
FROM sys.dm_os_memory_clerks WHERE type LIKE '%xtp%'
尝试这个:
SELECT distinct DB_NAME()
FROM sys.master_files sdf
INNER JOIN
sys.filegroups fg
ON sdf.data_space_id=fg.data_space_id and fg.type='FX'