gpt4 book ai didi

sql-server - 由于 newsequentialid() 功能不兼容,无法将 bacpac 文件导入到 Azure

转载 作者:行者123 更新时间:2023-12-03 02:44:15 24 4
gpt4 key购买 nike

我正在尝试导入从本地 SQL 数据库创建的 bacpac 文件/数据层应用程序,但遇到以下错误:

Error encountered during the service operation. Could not import package. Warning SQL0: A project which specifies SQL Server 2012 as the target platform may experience compatibility issues with SQL Azure. Error SQL72014: .Net SqlClient Data Provider: Msg 40511, Level 15, State 1, Line 2 Built-in function 'newsequentialid' is not supported in this version of SQL Server. Error SQL72045: Script execution error.

如何修复或解决此错误?

最佳答案

是的,Azure 仅支持 newid(),因为 newsequentialid() 显然是依赖于机器的。我想这是有道理的,但是多么痛苦啊!

您可以通过以下过程解决此问题:

  1. 将您的 BACPAC 文件重命名为 zip 文件。
  2. 打开 zip 中的 model.xml
  3. newsequentialid() 实例替换为 newid()
  4. 保存修改后的文件并将其复制回 zip 中。

这里你已经完成了大部分工作,除了 Origin.xml 中有一个校验和,它现在会失败,因为你已经修改了文件内容。

你必须重新计算校验和;我是用 PowerShell 完成的

Get-FileHash '.\model.xml' -Algorithm SHA256

然后打开 Origin.xml 并替换“校验和”部分中的哈希值。

将修改后的 Origin.xml 复制回 zip 中,并将该文件重命名回 .bacpac。现在可以毫无问题地导入。

关于sql-server - 由于 newsequentialid() 功能不兼容,无法将 bacpac 文件导入到 Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20223095/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com