SQL Server 运行模式:一种智能化解决方案
1. SQL Server 的运行模式
SQL Server 是一个关系型数据库,用于存储和检索数据。它可以以多种不同的方式运行,包括单用户模式、多用户模式和混合模式。单用户模式只允许一个用户连接到数据库,在维护数据库时很有用;多用户模式允许多个用户同时连接到数据库,这是大多数情况下使用的模式;混合模式则允许同时使用 Windows 身份验证和 SQL Server 身份验证。
但是,所有这些模式都需要人工干预来管理和调整 SQL Server 的性能。对于大型企业级应用程序,这可能需要非常复杂的设置和维护才能保持最佳性能。
为了解决这种情况,SQL Server 推出了一种智能化解决方案。
2. 智能化的 SQL Server 运行模式
SQL Server 2017 引入了一种新的智能化运行模式,称为“自动化调整”,它依赖机器学习算法来帮助管理和优化数据库性能。
这种智能化的运行模式使用 Azure Machine Learning 提供的技术,可以对数千个 SQL Server 实例的活动数据进行分析,并自动优化性能设置以提高查询速度和响应时间。
这种自动化调整功能包含多个子功能。其中一个子功能是“自我调整”,它可以自动检测和解决某些问题,例如临时存储空间不足等。
另一个子功能是“自我学习”,它可以根据数据库的活动数据和性能表现来学习最佳设置,并自动进行优化。这样,SQL Server 可以根据实时需求自适应并优化性能设置,从而使数据库保持最佳状态。
3. 示例
下面是一个示例代码,演示了如何使用自动化调整来优化 SQL Server 2017 的性能设置。
ALTER DATABASE [AdventureWorks2014] SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON )
该代码使用自动化调整功能中的“FORCE_LAST_GOOD_PLAN”设置来指定 SQL Server 强制使用上一次成功的查询计划。这可以提高查询执行速度和响应时间,因为上次成功的查询计划已经被证明是有效的。
3.1 原理
这是一个基于机器学习的智能化解决方案。使用 Azure Machine Learning 的强大功能,SQL Server 可以根据数千个实例的活动数据来学习和预测性能优化设置。这些预测可以自动应用于实例,从而提高了数据库的性能和可靠性。
3.2 优势
使用自动化调整功能的主要优点是它可以大大简化多用户 SQL Server 实例的管理和优化过程。自动化调整功能可以通过机器学习算法自动分析实例的性能,并自动优化设置,从而释放了 DBA 等 IT 管理员和开发人员的时间和资源。
3.3 局限性
自动化调整功能并不适用于所有数据库应用程序,特别是那些具有特殊性能要求或非标准 SQL Server 配置的应用程序。此外,自动化调整功能需要花费一些时间来分析和学习实例的活动数据,并根据这些数据进行优化。因此,在 SQL Server 刚部署时可能不会有一开始就提供最佳性能。
4. 总结
SQL Server 的自动化调整功能是一项非常有用的功能,通过机器学习算法可以根据大量活动数据来自适应地进行性能优化。虽然它不适用于所有应用程序,但在大多数情况下,它可以为企业级应用程序提供更快的查询速度和响应时间,同时释放 DBA 和 IT 管理员的时间和资源。