3.3. Microsoft SQL Server 工作负载
Red Hat Hybrid Cloud Console 用户可以使用全局 Filter by tags 功能来选择运行 Microsoft SQL Server 工作负载的系统组。
2019 年 5 月,Red Hat Insights 团队为在 Red Hat Enterprise Linux (RHEL) 上运行的 Microsoft SQL Server 引进了一组新的混合云控制台建议。这些规则提醒管理员迁移到不符合 Microsoft 和 Red Hat 文档的建议的操作系统级别配置。
这些规则的限制是它们主要分析操作系统,而不是数据库本身。混合云控制台和 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 文件,并在混合云控制台 UI 中以简单的格式呈现结果。
有关在混合云控制台中有关 SQL Server 评估的更多信息,请参阅 SQL Server 数据库最佳实践现在通过 Red Hat Insights 提供。
:
3.3.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
USE [master] GO CREATE LOGIN [assessmentLogin] with PASSWORD= N'<*PASSWORD*>’ ALTER SERVER ROLE [sysadmin] ADD MEMBER [assessmentLogin] GO
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 按如下所示存储用于登录的凭证,再次将 < 过程PASSWORD the 替换为在第 1 步中使用的密码。
echo "assessmentLogin" > /var/opt/mssql/secrets/assessment echo "<*PASSWORD*>" >> /var/opt/mssql/secrets/assessment
# echo "assessmentLogin" > /var/opt/mssql/secrets/assessment # echo "<*PASSWORD*>" >> /var/opt/mssql/secrets/assessment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过确保只有 mssql 用户可以访问凭证,来保护评估工具所使用的凭证。
chmod 0600 /var/opt/mssql/secrets/assessment chown mssql:mssql /var/opt/mssql/secrets/assessment
# chmod 0600 /var/opt/mssql/secrets/assessment # chown mssql:mssql /var/opt/mssql/secrets/assessment
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 microsoft-tools 存储库下载 PowerShell。这是安装
mssql-tools
和mssqlodbc17
软件包时配置的仓库,作为 SQL Server 安装的一部分。yum -y install powershell
# yum -y install powershell
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 为 PowerShell 安装 SQLServer 模块。此模块包括评估 API。
su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
# su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从 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
# /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
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建用于存储 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/
# mkdir /var/opt/mssql/log/assessments/ # chown mssql:mssql /var/opt/mssql/log/assessments/ # chmod 0700 /var/opt/mssql/log/assessments/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 现在,您可以创建第一个评估,但请确保以用户 mssql 用户身份执行此操作,以便以 mssql 用户身份通过 cron 或 systemd 自动运行后续评估。
su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
# su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 混合云控制台将在下一次运行时自动包含评估,或者您可以通过运行以下命令来启动 Insights 客户端:
insights-client
# insights-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.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/
# cp mssql-runassessment.service /etc/systemd/system/ # cp mssql-runassessment.timer /etc/systemd/system/ # chmod 644 /etc/systemd/system/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启用计时器。
systemctl enable --now mssql-runassessment.timer
# systemctl enable --now mssql-runassessment.timer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
: