5.4. Microsoft SQL Server 工作负载


使用全局 过滤器按标签 功能,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 旨在提供高度可定制且可扩展的解决方案,让用户能够调整默认规则并创建自己的规则。

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 提供信息,数据库管理员需要执行以下步骤:

流程

  1. 在您要评估的数据库中,使用 SQL Authentication 为 SQL Server 评估创建一个登录。以下 Transact-SQL 创建登录。将 <*PASSWORD*& gt; 替换为强密码:

    USE [master]
    GO
    CREATE LOGIN [assessmentLogin] with PASSWORD= N'<*PASSWORD*>’
    ALTER SERVER ROLE [sysadmin] ADD MEMBER [assessmentLogin]
    GO
  2. 按如下所示存储系统中登录的凭证,再次将 <*PASSWORD*> 替换为在第 1 步中使用的密码。

    # echo "assessmentLogin" > /var/opt/mssql/secrets/assessment
    # echo "<*PASSWORD*>" >> /var/opt/mssql/secrets/assessment
  3. 通过确保只有 mssql 用户可以访问凭证来保护评估工具使用的凭证。

    # chmod 0600 /var/opt/mssql/secrets/assessment
    # chown mssql:mssql /var/opt/mssql/secrets/assessment
  4. 从 microsoft-tools 存储库下载 PowerShell。当您安装 mssql-toolsmssqlodbc17 软件包作为 SQL Server 安装的一部分时,这与您配置的软件仓库相同。

    # yum -y  install powershell
  5. 为 PowerShell 安装 SQLServer 模块。此模块包括评估 API。

    # su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
  6. 从 Microsoft 示例 GitHub 存储库下载 run evaluation 脚本。确保它归 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
  7. 创建用于存储 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/
  8. 现在,您可以创建第一个评估,但请确保以用户 mssql 的身份执行,以便后续评估能够以 mssql 用户身份通过 cron 或 systemd 自动运行。

    # su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
  9. Insights for Red Hat Enterprise Linux 会在下一次运行时自动包括评估,或者您可以通过运行这个命令来启动 Insights 客户端:

    # insights-client

5.4.1.1. 在计时器上设置 SQL 评估

因为 SQL Server 评估可能需要 10 分钟或更长时间才能完成,所以您可能需要每天自动运行评估过程。如果要自动运行它们,Red Hat SQL Server 社区已创建了 systemd 服务和计时器文件,以用于评估工具。

流程

  1. 从红帽公共 SQL Server 社区下载以下文件,以说明 GitHub 网站

    • mssql-runassessment.service
    • mssql-runassessment.timer
  2. /etc/systemd/system/ 目录中同时安装这两个文件:

    # cp mssql-runassessment.service /etc/systemd/system/
    # cp mssql-runassessment.timer /etc/systemd/system/
    # chmod 644 /etc/systemd/system/
  3. 使用以下命令启用计时器:

    # systemctl enable --now mssql-runassessment.timer
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.