5.4. Microsoft SQL Server 工作负载
使用全局 Filter by tags 功能,Red Hat Insights for Red Hat Enterprise Linux 用户可以选择运行 Microsoft SQL Server 工作负载的系统组。
2019 年 5 月,Red Hat Insights 团队为在 Red Hat Enterprise Linux (RHEL)上运行的 Microsoft SQL Server 引进了一组新的 Insights for Red Hat Enterprise Linux 建议。这些规则提醒管理员迁移到不符合 Microsoft 和 Red Hat 文档的建议的操作系统级别配置。
这些规则的限制是它们主要分析操作系统而不是数据库本身。Insights for Red Hat Enterprise Linux 和 RHEL 8.5 的最新版本引入了 Microsoft SQL 评估 API。SQL 评估 API 提供了用于评估 MS SQL Server 的数据库配置的机制,以获得最佳性能。API 附带一个规则集,其中包含 Microsoft SQL Server 团队推荐的最佳实践规则。虽然此规则集随着新版本发布进行了增强,但 API 使用意图构建,以提供高度可定制且可扩展的解决方案,用户可以调整默认规则并自行创建。
Linux 的 PowerShell 支持 SQL 评估 API (可从 Microsoft 使用),Microsoft 定义了一个 PowerShell 脚本,可用于调用 API 并将其结果存储为 JSON 格式的文件。使用 RHEL 8.5 时,Insights 客户端现在上传此 JSON 文件,并在 Insights for Red Hat Enterprise Linux UI 中以易进的形式呈现结果。
有关 Insights for Red Hat Enterprise Linux 中的 SQL Server 评估的更多信息,请参阅通过 Red Hat Insights 提供 SQL Server 数据库最佳实践。
5.4.1. 设置 SQL Server 评估
要配置 Microsoft SQL 评估 API,以便为 Red Hat Insights 提供信息,数据库管理员需要执行以下步骤。
流程
在您要评估的数据库中,使用 SQL 身份验证为 SQL Server 评估创建一个登录。以下 Transact-SQL 创建一个登录。使用强大的密码替换 <rhacmPASSWORD the> :
USE [master] GO CREATE LOGIN [assessmentLogin] with PASSWORD= N'<*PASSWORD*>’ ALTER SERVER ROLE [sysadmin] ADD MEMBER [assessmentLogin] GO
按如下所示存储用于登录的凭证,再次将 < 过程PASSWORD the 替换为在第 1 步中使用的密码。
# echo "assessmentLogin" > /var/opt/mssql/secrets/assessment # echo "<*PASSWORD*>" >> /var/opt/mssql/secrets/assessment
通过确保只有 mssql 用户可以访问凭证,来保护评估工具所使用的凭证。
# chmod 0600 /var/opt/mssql/secrets/assessment # chown mssql:mssql /var/opt/mssql/secrets/assessment
从 microsoft-tools 存储库下载 PowerShell。这是安装
mssql-tools
和mssqlodbc17
软件包时配置的仓库,作为 SQL Server 安装的一部分。# yum -y install powershell
为 PowerShell 安装 SQLServer 模块。此模块包括评估 API。
# su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
从 Microsoft 示例 GitHub 存储库下载 run\":\" 脚本。确保它归 mssql 所有并由其执行。
# /bin/curl -LJ0 -o /opt/mssql/bin/runassessment.ps1 https://raw.githubusercontent.com/microsoft/sql-server-samples/master/samples/manage/sql-assessment-api/RHEL/runassessment.ps1 # chown mssql:mssql /opt/mssql/bin/runassessment.ps1 # chmod 0700 /opt/mssql/bin/runassessment.ps1
创建用于存储 Red Hat Insights 使用的日志文件的目录。同样,请确保它归 mssql 所有并可执行。
# mkdir /var/opt/mssql/log/assessments/ # chown mssql:mssql /var/opt/mssql/log/assessments/ # chmod 0700 /var/opt/mssql/log/assessments/
现在,您可以创建第一个评估,但请确保以用户 mssql 用户身份执行此操作,以便以 mssql 用户身份通过 cron 或 systemd 自动运行后续评估。
# su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
Insights for Red Hat Enterprise Linux 将在下次运行时自动包含评估,或者您可以运行以下命令来启动 Insights 客户端:
# insights-client
5.4.1.1. 在计时器上设置 SQL 评估
由于 SQL Server 评估可能需要 10 分钟或更长时间完成,因此您可能并没有意义,以便每天自动运行评估过程。如果您希望自动运行它们,Red Hat SQL Server 社区创建了 systemd 服务和计时器文件,用于评估工具。
流程
从 实践 GitHub 站点的红帽公共 SQL Server 社区 下载以下文件:
-
mssql-runassessment.service
-
mssql-runassessment.timer
-
在
/etc/systemd/system/
目录中安装这两个文件:# cp mssql-runassessment.service /etc/systemd/system/ # cp mssql-runassessment.timer /etc/systemd/system/ # chmod 644 /etc/systemd/system/
使用以下方法启用计时器:
# systemctl enable --now mssql-runassessment.timer