0

我正在尝试将我的数据库从本地移动到 Azure。方法是.bacpac从本地服务器创建,然后使用sqlpackage.exe.

这是我正在使用的命令:

sqlpackage.exe /Action:import 
               /tcs:"Server=tcp:myserver.database.windows.net,1433;Database=MyDB;Authentication=’Active Directory Integrated’; 
               /sf=”C:\BD-AZ\myonprembacpac.bacpac” 
               /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P1

导入时,我收到此错误:

数据库中已经有一个命名的对象。

我当前的本地数据库区分大小写,并且具有相同名称的对象不同大小写。这就是为什么.bacpac创建为

<Property Name="Collation" Value="Latin1_General_BIN" /> 

mode.xml预计在其中。

我的 Azure 和本地服务器(两者)都将排序规则设置为SQL_Latin1_General_CP1_CI_AS.

该 Azure DB 服务器中还有其他数据库,其排序规则为SQL_Latin1_General_CP1_CI_AS.

因此,对于其他应用程序,没有问题。

  • 服务器排序规则:SQL_Latin1_General_CP1_CI_AS
  • 数据库排序规则:SQL_Latin1_General_CP1_CI_AS

对于我的应用程序的问题“数据库中已经存在一个对象”:

  • 服务器排序规则:SQL_Latin1_General_CP1_CI_AS
  • 数据库排序规则:Latin1_General_BIN

我可以将带有排序规则的当前导入到.bacpac带有Latin1_General_BIN排序规则的服务器而SQL_Latin1_General_CP1_CI_AS没有任何错误吗?

从这篇文章看起来它是经过设计的,但不确定是否有办法克服它。 https://techcommunity.microsoft.com/t5/azure-database-support-blog/lesson-learned-97-which-is-the-server-collat​​ion-in-azure-sql/ba-p/744183

有什么建议么?

4

0 回答 0