答案1
为了回答有关调整的实际问题,而不是查看内部结构,这可以帮助您理解为什么 SQL 在某些方面表现如此,我能想到的只有 1 个未记录的选项。
您需要确保事务日志文件中没有太多 VLF,否则日志操作会变慢。要查看 VLF 的数量,您必须使用未记录的 DBCC LOGINFO 命令,然后采取纠正措施。Kimberly 有一篇很棒的博客文章,网址为http://sqlskills.com/blogs/Kimberly/post/8-Steps-to-better-Transaction-Log-throughput.aspx
除此之外,性能调优并没有什么真正的魔法。关键在于拥有正确的设计、正确的索引策略、正确的数据库维护,并一遍又一遍地重新评估以确保以上所有因素仍能满足您的要求。SQL Server 没有 /faster 开关。
希望这可以帮助
答案2
SQL Server 内部查看器是一款比 dbcc 功能更强大的工具,可用于查看 SQL Server 中数据存储的内部情况。尤其是对于管理分区而言,分配查看器可让您一目了然地了解哪些数据位于哪个分区。
你可以从这里获取它:[url 已删除... google“Internals Viewer for SQL Server”site:codeplex.com]
答案3
有很多未记录的DBCC 命令如:
数据库连接页和溴化钾 这可让您窥视存储引擎的内部。 保罗·兰德尔 (Paul Randal) 已在博客中谈到他们!
答案4
了解任何给定查询的 SQL Server 性能的关键是深入了解查询计划。具体来说,了解所使用的连接类型、获取步骤的类型(扫描与查找)以及计划可以告诉您的限制。例如,查询计划几乎总是搞砸了 SELECT 列表中的成本用户定义函数。但是,如果您了解查询计划的工作原理,您将了解 SQL Server 的工作原理、中断以及如何修复它。
理解 SQL Server 服务器稳定性的关键是理解如何快速读取错误日志。不是 Windows 事件日志,而是实际的 ERRORLOG 文本文件。
聘请优秀的 SQL Server 查询编写人员的关键是要求他们使用正确的语法为您编写如何在 T-SQL 中使用游标。如果他们的答案正确,请不要雇用他们,因为他们过度使用游标,而使用游标几乎总是错误的方法。