在SQL Server 2016中,tempdb功能得到了一定的增强,这有助于应用程序提升响应速度。让我们来了解一下这些变化,并学习如何在SQL Server 2016中正确配置tempdb。 在对SQL Server进行升级后,数据库管理员首先要考虑的是tempdb数据库文件的大小是否合适,这些文件用于保存临时表和存储过程,以及其他在SQL Server重启过程中不被保存的项目。SQL Server 2016对tempdb功能进行了改善,旨在加速应用程序的响应过程。
让我们看看如何在SQL Server 2016中设置tempdb,以便充分利用你的数据库服务器。 DBA所面临的一个问题是,在应……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
在SQL Server 2016中,tempdb功能得到了一定的增强,这有助于应用程序提升响应速度。让我们来了解一下这些变化,并学习如何在SQL Server 2016中正确配置tempdb。
在对SQL Server进行升级后,数据库管理员首先要考虑的是tempdb数据库文件的大小是否合适,这些文件用于保存临时表和存储过程,以及其他在SQL Server重启过程中不被保存的项目。SQL Server 2016对tempdb功能进行了改善,旨在加速应用程序的响应过程。让我们看看如何在SQL Server 2016中设置tempdb,以便充分利用你的数据库服务器。
DBA所面临的一个问题是,在应用程序广泛使用tempdb的情况下,SQL Server在临时数据库中分配新页面的时候将会遭遇锁争用问题。如果竞争十分激烈,tempdb相关查询可能会在短时间内没有响应。一旦出现此类情景,就表明SQL Server tempdb需要调整大小以提升整体查询性能。想要开始这一过程,或调整tempdb的大小,DBA可以使用Transact - sql中的sys.dm_exec_request或sys.dm_os_waiting_tasks动态管理视图查询来找到SQL Server实例所需的tempdb资源信息。
接下来你可以继续进行tempdb配置。你为tempdb配置多少数据文件取决于SQL Server一个实例被分配到的逻辑处理器数。在具有八个或更少的逻辑处理器情况下,tempdb 数据文件个数应该等于逻辑处理器总数。例如,如果你有六个逻辑处理器,你就需要配置6个tempdb数据文件。在具有多于八个逻辑处理器的情况下,你应该配置八个数据文件——如果你没有遇到争用问题,这是微软推荐的最大数量。
SQL Server 2016 之前版本的tempdb配置
在早期版本的SQL Server中,安装过程默认创建一个tempdb数据文件。SQL Server默认tempdb数据文件的初始大小是8 MB,当需要扩展时,文件大小将以10% 的比例递增。同样的,tempdb 事务日志文件的默认初始大小是1 MB,同样会以10%的比例递增(参见图1)。
图1:SQL Server 2014和更早版本中的默认tempdb配置
SQL Server 2016 中tempdb的改进
SQL Server 2016的安装和设置向导可以自动检测可用CPU核心数量并使用这个数字来作为tempdb是数据文件数量,当然这个数量最大为8。这应该有助于避免SQL Server锁争用问题,此类问题通常发生在tempdb只使用一个数据文件的情况下。此外,SQL Server 2016 tempdb 数据和日志文件的初始大小都为8 MB,自增大小为64 MB。
从SQL Server 2016开始,你不再需要启用跟踪标志1117和1118,在服务器层面控制tempdb文件的增长和分配到新数据库对象的数据页。现在如果有多个tempdb数据文件可用,它们会根据设置同时自动增长。此外,tempdb中所有页面分配将来自于8个物理上连续页面的单一盘区,并绑定到一个对象,而不是每个页面都来自于分散的盘区。
微软也大大改善了SQL Server 2016中tempdb的图形用户配置界面。数据库引擎配置接口中的tempdb界面允许你轻松地配置临时数据库的参数,包括数据文件的数量、初始大小和数据文件和日志文件的自增配置,以及文件目录的位置(参见图2)。此外,你可以为tempdb文件指定多个卷,以流的方式进行跨目录的文件分配。
图2:SQL Server 2016 中tempdb的数据库引擎配置界面
tempdb的手动配置过程
如果你打算从命令行安装SQL Server 2016,你要添加图3中所示的一些参数,以配置多个tempdb数据文件,并设置初始大小和自增设置。
图3:SQL Server 2016的tempdb配置参数
图4显示了一个示例配置的命令行代码,该配置下,tempdb具有四个数据文件,采用默认的文件大小和自增设置。
图4:配置具有四个数据文件的tempdb的命令行代码
无论使用哪种方法,在SQL Server中正确地配置tempdb 以避免锁争用问题对于任何生产数据库服务器来说都是至关重要的。SQL Server 2016让这个配置变得更为容易,因为它的安装和设置向导可以检测可用内核数量,并根据微软的部署最佳实践,来推荐合适的配置。这个功能的增强将帮助DBA们在新安装数据库时更好地配置tempdb,在升级到新版本的数据库时也一样。
翻译
TechTarget特邀编辑。北京邮电大学计算机科学与技术专业硕士。熟悉软件开发流程,对系统管理,网络配置,数据库应用等方面有深入的理解和实践经验。现就职于IBM(中国)投资有限公司,从事IBM服务器相关软件的开发工作。业余时间喜欢游泳登山,爱健身,喜欢结交朋友。
相关推荐
-
Linux版SQL Server即将发布 Windows数据库增加HA特性
新发布的预告版SQL Server软件有一系列社区技术预览版本,其中有一些通用的可用性功能尚未支持,预计将会在今年发布。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。
-
在SQL Server 2016和2017中使用R语言要注意哪些细节?
R分析语言向用户提供了哪些功能,如何在SQL Server 2016和2017中使用R? 阅读本文,你将了解更多有关微软R技术的问题和细节。
-
利用Microsoft SQL Server Reporting Services 2016的移动特性
SQL Server Reporting Services有许多新特性,其中一些特性对SQL Server 2016数据可视化进行了优化,同时增加了可视化的形式。