0

データベースをオンプレミスから Azure に移動しようとしています。アプローチは、.bacpacオンプレミス サーバーから作成し、それを を使用して Azure DB に復元すること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
  • DB照合: SQL_Latin1_General_CP1_CI_AS

「データベースに名前が付けられたオブジェクトが既に存在する」という問題がある私のアプリの場合:

  • サーバー照合: SQL_Latin1_General_CP1_CI_AS
  • DB 照合 : 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