Импортировать SQL bacpa c из onprem в azure, ошибка - в базе данных уже есть объект с именем - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь переместить свою базу данных из локальной в 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 сервере БД есть другие базы данных с сопоставлением 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

Есть предложения?

...