Azure sql database 长Azure SQL数据库导入,100%DTU-在恢复期间更改层会有帮助吗?

Azure sql database 长Azure SQL数据库导入,100%DTU-在恢复期间更改层会有帮助吗?,azure-sql-database,Azure Sql Database,我们正在blob中从bacpac导入azure数据库,使用100%DTU需要2天时间。有时我接受快速但昂贵的恢复(但只想为恢复时间支付额外费用),我该怎么做 如果我使用100或200个DTU将层更改为更高级别,它会加快恢复速度吗?另外,如果我在开始恢复后执行此操作,会应用更改吗?或者我必须在开始导入时执行此操作 恢复后,我将切换回所需的S2层。另一个子问题是降级数据库层的潜在风险是什么?至少我知道需要禁用地理复制 据了解,升级后应用和正常化性能可能需要几个小时,降级后通常需要几个小时 所以理想的

我们正在blob中从bacpac导入azure数据库,使用100%DTU需要2天时间。有时我接受快速但昂贵的恢复(但只想为恢复时间支付额外费用),我该怎么做

如果我使用100或200个DTU将层更改为更高级别,它会加快恢复速度吗?另外,如果我在开始恢复后执行此操作,会应用更改吗?或者我必须在开始导入时执行此操作

恢复后,我将切换回所需的S2层。另一个子问题是降级数据库层的潜在风险是什么?至少我知道需要禁用地理复制

据了解,升级后应用和正常化性能可能需要几个小时,降级后通常需要几个小时

所以理想的方法是在最大P6层开始恢复,然后降级到S2,并且在大多数情况下必须立即恢复

个案详情: 数据库大小约60 gb,bacpac约5 gb,S2标准(50 DTU)。我看到整个恢复时间的DTU百分比为100%,最后一天的导入导出历史记录一直停留在“STATUS Running,Progress=94.81%”,而数据库大小从30 Gb缓慢增加到60 Gb。


根据您所描述的,Azure SQL DB的性能与预期相符。与服务层和性能级别关联的DTU确实会影响导入时间。在导入和降级之后,您应该升级到更高的性能级别


我希望这会有所帮助

根据您描述的场景,最好使用数据库拷贝TSQL来执行跨服务器数据库拷贝。我假设在导出时首先创建一个数据库副本,以保证最终得到事务一致的BACPAC as。如果是这种情况,只需将数据库直接复制到目标帐户和服务器,就可以节省一些性能。只要源服务器和目标服务器具有相同的SQL登录信息,就可以工作

确认两台服务器共享相同的登录凭据后,只需登录要将数据库复制到的服务器的主数据库,然后运行以下TSQL:

CREATE DATABASE [NEW_DATABASE_NAME] AS COPY OF [SOURCE_SERVER_NAME].[SOURCE_DATABASE_NAME]
这将大大节省您的时间,因为导出方法要求您读取数据库的所有数据和模式。然后需要复制该文件(再次移动数据)。然后需要将所有数据读入新数据库(第三次移动数据)

综上所述,如果您确实需要使用导出和导入服务,那么使用更高的服务层导出和导入将比使用更低的服务层导出和导入更快,因为您有更多的资源可以更快地读取和导入数据


如果您想澄清任何问题,请回复此问题。

如果您有机会了解为什么要使用导入/导出,那将是一件非常棒的事情。如果您可以利用内置的备份还原功能,您的还原应该比导入快得多。我们有两个azure帐户(一个用于生产,一个用于开发),必须在它们之间移动数据库。导出到bacpac,通过服务器端使用异步跨帐户复制blob在blob之间移动它们,然后导入,正如我所知,这是一种正确的方法。您对此有过解决方案吗?切换层是否会影响恢复时间?是的,更好的层减少恢复时间我现在正在运行一个大型导入,我得到的最大DTU使用率是40%,根据您的经验,您不能期望100%?我现在正在运行一个大型导入,我得到的最大DTU使用率是40%,您不能期望100%?
CREATE DATABASE [NEW_DATABASE_NAME] AS COPY OF [SOURCE_SERVER_NAME].[SOURCE_DATABASE_NAME]