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

流程

  1. 在您要评估的数据库中,使用 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
    Copy to Clipboard Toggle word wrap
  2. 按如下所示存储用于登录的凭证,再次将 < 过程PASSWORD the 替换为在第 1 步中使用的密码。

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

    # chmod 0600 /var/opt/mssql/secrets/assessment
    # chown mssql:mssql /var/opt/mssql/secrets/assessment
    Copy to Clipboard Toggle word wrap
  4. 从 microsoft-tools 存储库下载 PowerShell。这是安装 mssql-toolsmssqlodbc17 软件包时配置的仓库,作为 SQL Server 安装的一部分。

    # yum -y  install powershell
    Copy to Clipboard Toggle word wrap
  5. 为 PowerShell 安装 SQLServer 模块。此模块包括评估 API。

    # su mssql -c "/usr/bin/pwsh -Command Install-Module SqlServer"
    Copy to Clipboard Toggle word wrap
  6. 从 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
    Copy to Clipboard Toggle word wrap
  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/
    Copy to Clipboard Toggle word wrap
  8. 现在,您可以创建第一个评估,但请确保以用户 mssql 用户身份执行此操作,以便以 mssql 用户身份通过 cron 或 systemd 自动运行后续评估。

    # su mssql -c "pwsh -File /opt/mssql/bin/runassessment.ps1"
    Copy to Clipboard Toggle word wrap
  9. 混合云控制台将在下一次运行时自动包含评估,或者您可以通过运行以下命令来启动 Insights 客户端:

    # insights-client
    Copy to Clipboard Toggle word wrap

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

由于 SQL Server 评估可能需要 10 分钟或更长时间完成,因此您可能并没有意义,以便每天自动运行评估过程。如果您希望自动运行它们,Red Hat SQL Server 社区创建了 systemd 服务和计时器文件,用于评估工具。

流程

  1. 实践 GitHub 站点的红帽公共 SQL Server 社区 下载以下文件:

    • 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/
    Copy to Clipboard Toggle word wrap
  3. 启用计时器。

    # systemctl enable --now mssql-runassessment.timer
    Copy to Clipboard Toggle word wrap

:

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat