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