我一直在开发一个查询来使用DMV获取索引碎片信息.
但是,查询提供的结果比预期的要多.我相信问题在于加入.
有什么想法吗?
select distinct '['+DB_NAME(database_id)+']' as DatabaseName,
'['+DB_NAME(database_id)+'].['+sch.name+'].['
+ OBJECT_NAME(ips.object_id)+']' as TableName,
i.name as IndexName,
ips.index_type_desc as IndexType,
avg_fragmentation_in_percent as avg_fragmentation,
SUM(row_count) as Rows
FROM
sys.indexes i INNER JOIN
sys.dm_db_index_physical_stats(NULL,NULL,NULL,NULL,'LIMITED') ips ON
i.object_id = ips.object_id INNER JOIN
sys.tables tbl ON tbl.object_id = ips.object_id INNER JOIN
sys.schemas sch ON sch.schema_id = tbl.schema_id INNER JOIN
sys.dm_db_partition_stats ps ON ps.object_id = ips.object_id
WHERE
avg_fragmentation_in_percent <> 0.0 AND ips.database_id = 6
AND OBJECT_NAME(ips.object_id) not like '%sys%'
GROUP BY database_id, sch.name, ips.object_id, avg_fragmentation_in_percent,
i.name, …Run Code Online (Sandbox Code Playgroud) 我在.NET中创建了我的第一个基于数据库的桌面应用程序,但无法理解如何使用应用程序安装程序部署数据库,以便一次性安装数据库,应用程序和SQL Server.
如果我只使用安装程序部署SQL Server的本机客户端和数据库,它会工作吗?
应用程序非常频繁地使用数据库.