【问题标题】:Modifying max degree of parallelism to 1 for azure sql server将 azure sql server 的最大并行度修改为 1
【发布时间】:2015-10-13 16:02:12
【问题描述】:

我能够从 sys.configurations 查询“最大并行度(maxdop)”值,但无法为 azure-sql 服务器更新相同的值。我不太确定 azure-sql 中是否有 sp_configure 存储过程的替代方案。

SELECT
    name,
    value_in_use
FROM
    sys.configurations(nolock)
WHERE
    description LIKE '%parallelism%'

update  sys.configurations set value_in_use=1 where name='max degree of parallelism'    

我收到一个错误:不允许对系统目录进行临时更新。我认为这是正常的,因为我们应该使用 sp_configure 更新配置值。

简要介绍在服务器级别为 azure-sql 设置 maxdop。我可以在每个 sp 级别显式设置它,但在服务器级别本身设置它会很棒。

如何在不使用 sp_configure 的情况下在 sql-azure 上设置“最大并行度”?指导我更新 sys.configurations 中的值的方法。我也没有从 azure 门户中看到“最大并行度”的任何属性。

【问题讨论】:

    标签: sql-server azure parallel-processing azure-sql-database


    【解决方案1】:

    您将无法更改 SQL DB 中的 Max DOP,它等同于 0(对于 SQL DB v12),这在 SQL DB V11(即 1)中始终是不同的行为。如果您发现查询计划影响性能并需要将其重置为 1,请向 MSFT 开具支持票证,这将得到解决。

    【讨论】:

    • 为每个受影响的查询设置option (maxdop 1) 似乎对我们很有效。我们在更改这些查询后进行了大量测试,并没有遇到任何意外情况。我想检查这是否可以在服务器级别完成。
    • 目前不支持修改设置,但正在努力为每个数据库提供此功能(尚无 ETA)。
    • 现在可以在具有数据库范围配置设置的 SQL DB 中更改此设置。 sqlindepth.com/changing-max_dop-setting-in-sql-azure-db-v12
    • 我有一个问题,谢谢dba.stackexchange.com/questions/274411/…
    【解决方案2】:

    嗯.. 我很确定 SQL Azure 会主动忽略传递给它的任何 MAXDOP 查询提示,这可能会使您的问题成为一个有争议的问题?

    AFAIK 默认情况下它只是设置为 1,如果你尝试更改它,你会得到一个错误,正如你所发现的那样。

    【讨论】:

    • 恐怕新版本的 Azure Sql V12 MAXDOP 值不默认为 1,而是 0。我查询 sys.configurations 并看到 maxdop 为 0。我读了here高级层的此版本提供了并行支持。我可能错过了更改日志中的某些内容。
    • 没关系,不用害怕 ;) 我想随着 azure 的猖獗发布周期,这种情况会越来越多地发生,我还没有读过任何关于 v12 的文章!事实上,这个“新功能”甚至没有列出变化 - azure.microsoft.com/en-gb/documentation/articles/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-30
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    相关资源
    最近更新 更多