我正在尝试将我的数据库从本地移动到 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-collation-in-azure-sql/ba-p/744183
有什么建议么?