数据安全,配置先行;如何检查,SQL 评估 API

SQL 评估 API 提供了一种机制来评估 SQL Server 的配置,以获得最佳做法。 该 API 附带一个规则集,其中包含 SQL Server 团队建议的最佳做法规则。 随着新版本的发布,此规则集得到了增强,但同时,此 API 旨在提供高度可自定义且可扩展的解决方案。 这样用户便可以优化默认规则并创建自己的规则,并且可以进行自己开发,也就是说利用此API你还还可以开发自己的评估工具。

若要确保 SQL Server 配置符合建议的最佳做法,你就会发现 SQL 评估 API 非常有用。 初步评估后,可以通过定期安排评估来跟踪配置稳定性。

API 可用于访问:

  • Azure 虚拟机上的 SQL Server

  • Azure SQL 数据库托管实例

  • SQL Server 2012 及更高版本

  • 基于 Linux 的系统上的 SQL

  • API 也用于面向 Azure Data Studio (ADS) 的 SQL Server 评估扩展。

1、安装SQL 评估 API

1、安装 ADS ,下载安装ADS(此工具主要是为了Azure上的 应用) , Azure Data Studio

https://docs.microsoft.com/zh-cn/sql/azure-data-studio/download-azure-data-studio?view=sql-server-ver15

2、安装 Server 管理对象(SMO)

SQL Server管理对象 (SMO) 是设计用于的编程管理的对象 Microsoft SQL Server 。 可以使用 SMO 生成自定义 SQL Server 管理应用程序。

例如,可能需要简化控制 SQL Server 管理任务的用户应用程序,以满足新用户的需要并且降低培训成本。 您可能需要创建自定义 SQL Server 数据库,或创建用于创建和监控索引效率的应用程序。 还可以使用 SMO 应用程序将第三方硬件或软件无缝纳入数据库管理应用程序。

3、安装 SQL Server PowerShell 模块,使用管理员身份打开powershell

Install-Module -Name SqlServer -RequiredVersion 21.1.18256

4、参考规则库,SQL 评估 API 使用了相应的规则库,规则库参考:

https://github.com/microsoft/sql-server-samples/blob/567d49a42d4cf10e4942b19290ab80828b451b77/samples/manage/sql-assessment-api/DefaultRuleset.csv

目前有203条规则,规则清晰的给出SQL 的相关的配置要求和最佳实践的建议。

2、使用

使用比较简单,也是powershell打开

获取实例的可用检查列表
PS C:\Windows\system32> Get-Item SQLSERVER:\SQL\localhost\sqlexpress | Get-SqlAssessmentItem
或者
PS C:\Windows\system32> Get-SqlInstance -ServerInstance 'localhost\sqlexpress' | Get-SqlAssessmentItem
  

在这里插入图片描述

获取实例的所有数据库的可用检查列表
Get-SqlDatabase -ServerInstance 'localhost\sqlexpress' | Get-SqlAssessmentItem


 

在这里插入图片描述

获取实例评估结果并写入数据库
Get-SqlInstance -ServerInstance 'localhost\sqlexpress' |
Invoke-SqlAssessment -FlattenOutput |
Write-SqlTableData -ServerInstance 'localhost\sqlexpress' -DatabaseName SQLAssessmentDemo -SchemaName Assessment -TableName Results -Force


执行完成后,找到相应生成的数据库:SQLAssessmentDemo,
执行:
select *from [Assessment].[Results]
即可看到结果,如我的结果如下:

在这里插入图片描述

3、关于规则集

规则是可自定义和可扩展的。 Microsoft 的规则集旨在适用于大多数环境。 但是,一个规则集不可能适用于所有环境。 用户可以编写自己的 JSON 文件并自定义现有规则或添加新规则。 示例存储库中提供了自定义示例和完整的 Microsoft 发布的规则集。

规则自定义功能提供的选项

启用/禁用某些规则或规则组(使用标签)

当特定规则不适用于环境时,或在完成计划工作以解决问题之后,可以使这些规则处于静默状态。

更改阈值参数

特定规则会将自身阈值与当前的指标值进行比较,以发现问题。 如果默认阈值不合适,可以对其进行更改。

添加更多由所在组织或第三方编写的规则

通过将一个或多个 JSON 文件作为参数添加到 SQL 评估 API 调用中,可以将多个规则集组合在一起。 组织可能会编写这些文件,或从第三方获取这些文件。 例如,可以让你的 JSON 文件禁用 Microsoft 规则集中的特定规则,让行业专家提供的另一个 JSON 文件包含你认为对环境有用的规则,然后再让另一个 JSON 文件更改该 JSON 文件中的某些阈值。

4、总结

使用SQL 评估 API ,可以协助进行基础性评估,并且可以自定义规则,在企业应用中,对数据库的设置需要进行相应的管理,利用最佳实践进行评估是通常较好的做法,使用此工具可以在大规模环境下节约时间和成本,帮助管理员对MS SQL 进行优化管理。

——————————————————————————————————————————————————————————

作者简介: Max Shen(阿特),做MS SQL 是认真的;玩数据库,是认真的! 电话微信18628037379,maxcloud@outlook.com

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐