Esm*_*mee 1 performance sql-server sql-server-2019
我们将我们的数据库从 SQLServer 2012 迁移到 SQLServer 2019。我们的 ETL 是在 Visual Studio 中构建的,并且是从主包设置的。masterpackage 调用不同的包,这些包未部署在 SSIS 中。其中一个包调用存储过程。此存储过程调用不同的存储过程。在旧服务器上,此 SP 步骤需要 4 个小时。在新服务器上,此步骤需要 7 个小时。我们可以做些什么来加快这个过程?数据库的兼容级别会影响这个过程吗?如果我们在 SSIS 中部署包会有所帮助吗?我们愿意接受任何建议。
我们已经尝试过的事情:
感谢您的帮助。埃斯米
跨 SQL Server 2014 升级时的一个大问题,也就是说,从小于 2014 年升级到 2014 年或更高版本,SQL Server 2014 版包含一个新的基数估计引擎。
对于大多数查询,新 CE 不会以任何方式影响它们。有些查询会运行得更快。一些查询,通常是已经有问题的边缘情况的查询,确实会运行得非常慢。
解决此问题的最佳方法是将查询存储用作升级的一部分,正如我在最近的博客文章 中概述的那样。你可能仍然可以这样做。将数据库的兼容模式改回旧版本,然后按照概述的步骤操作。但是,这是基于您尚未开始在数据库中使用仅限 2019 年的新编码机制这一事实。
否则,您需要首先查看所涉及查询的执行计划。将 2012 年的计划与 2019 年的计划进行比较。看看问题出在哪里。很可能您真正需要的是对代码和底层数据结构的更新。然而,许多人不能或不会做这项工作。相反,请通读这篇 Microsoft 文章中有关 CE的详细信息。在那里,您可以看到可用的选项,从将兼容模式保留在旧设置、通过数据库范围配置更改更改 CE、查询提示,最后返回到查询存储。
这些解决方案之一将有所帮助。但是,最好的方法是查看代码和结构并将它们调整为更优化。
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |