Rya*_*man 5 .net c# database azure azure-sql-database
我们有一个在 Azure 中托管的项目,我们将 SQL 服务器存储在弹性池中。我们拥有的数据库是从 .NET 框架的 Code First 迁移生成的;我们使用一些 SQL 导入脚本将数据加载到数据库中。
问题在于将数据库部署到 Azure。我们尝试在开发计算机和 SQL Server 上使用 SQL Server Management Studio。我们尝试使用将数据库部署到 Microsoft SQL Azure 将数据库推送到 Azure,并尝试使用 BACPAC 直接连接到 Azure 和导入数据层应用程序。SQL Server 2014 12.0.4439.1 是我们的服务器版本。
在部署过程中,一切似乎都进行得非常快,模式已创建,数据已加载到表中,但在大部分过程时间中它都挂在“启用索引”上,大约一个小时后,整个过程超时并失败。我收到 3 个错误;第一个是错误0;关于面向 SQL Server 2014 的数据库文件,已知与 SQL azure v12 的兼容性,这是非常神秘的。另一个关于超时,带有进程已超时的通用消息。最后的错误是注释
Could not import package.
Error SQL72016: Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
The statement has been terminated.
Error SQL72045: Script execution error. The executed script:
Bulk data is loaded
Run Code Online (Sandbox Code Playgroud)
在做了一些研究之后,我看到其他一些人抱怨说,如果使用基本层,则没有足够的 DTU 来让进程在时限内运行。我们的数据库使用标准 1 层,并尝试将其升级到 S2 以进行导入过程作为测试。虽然事情似乎发生得更快,但我们遇到了同样的问题。数据库大小为 1.6 GB,并且有 2 个大表,其中大约有 1 个工厂行;尽管我不认为这是一个如此大的数据库,以至于该过程应该失败。
小智 1
SQL DB 的设计是为了让您可以针对大型操作进行扩展,并在工作负载较安静时缩小规模?如果您仍然收到错误,为什么不扩展到 S3 一两个小时(SQL DB 账单以小时为增量)完成导入并缩小规模?