暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库范围配置的优先级是什么?

原创 Pinal Dave 2019-12-09
1903

在服务器级别中,数据库范围配置相对于全局配置的优先级是什么?

现在我们如何在数据库级别配置SQL Server,而不是在服务器级别更改值,而这会更改实例上每个数据库的值。

image.png

如果有人在数据库级别和服务器级别更改设置,您的查询将遵循哪些设置会发生什么?现在让我们通过演示来证明这一点。

首先,更改最大并行度的服务器级别配置,以在MAXDOP 2上运行查询。

EXEC sys.sp_configure N'max degree of parallelism', N'2'
GO

接下来,更改最大并行度的数据库级别配置,以在MAXDOP 4上运行查询。

USE AdventureWorks2017
GO
ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 4;
GO

现在,通过启用执行计划来运行使用并行计划的查询,并检查其MAXDOP。

USE AdventureWorks2017
GO
SELECT *
FROM Sales.SalesOrderDetail
ORDER BY UnitPrice DESC
GO

现在让我们仔细观察执行计划。从执行计划中可以很清楚地看出,SQL Server用数据库级本地配置覆盖了服务器级全局配置。
image.png

好吧,就是这样。我认为对SQL Server性能调整专家来说,确实是一件很幸运的事情,他们可以将所有必需的更改都放入单个数据库中,并使其以惊人的速度运行。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论