Nano Hash - криптовалюты, майнинг, программирование

Получение ошибки CREATE USER при попытке импорта BACPAC из хранилища BLOB-объектов в ssms

Я пытаюсь выполнить резервное копирование и восстановление базы данных, расположенной в базе данных SQL Azure, через хранилище BLOB-объектов Azure. Для этого я запустил Export Data-Tier Application... в выбранной базе данных и успешно сохранил ее в контейнере больших двоичных объектов как файл BACPAC. Теперь я пытаюсь сделать обратное и импортировать Data-Tier Application..., чтобы правильно проверить функции процесса резервного копирования, однако во время процесса я получаю следующую ошибку:

Не удалось импортировать пакет.

Ошибка SQL72014: поставщик данных .Net SqlClient: сообщение 15063, уровень 16, состояние 1, строка 1 У входа уже есть учетная запись под другим именем пользователя.

Ошибка SQL72045: ошибка выполнения сценария. Выполняемый скрипт: CREATE USER [имя пользователя] FOR LOGIN [имя пользователя];

(Microsoft.SqlServer.Dac)

Это приводит к сбою операций Importing database, Importing package schema and data into database и Updating database и созданию пустой базы данных.

Я не уверен, где вход в систему или создание пользователя становится актуальным при импорте базы данных, знаете ли вы, почему возникает эта ошибка?


Ответы:


1

Запустите этот запрос на мастере. Он предоставит вам список учетных записей, которые существуют на уровне сервера.

SELECT A.name as userName, B.name as login, B.Type_desc, default_database_name, B.* 
FROM sys.sysusers A 
    FULL OUTER JOIN sys.sql_logins B 
       ON A.sid = B.sid 
WHERE islogin = 1 and A.sid is not null

Запустите это в базе данных, которую вы хотите экспортировать как bacpac, чтобы позже импортировать ее в свой экземпляр SQL Server:

SELECT DB_NAME(DB_ID()) as DatabaseName, * FROM sys.sysusers

Вам необходимо удалить имена входа в базу данных, которые, как вы видите, существуют на уровне сервера (в базе данных master). После этого попробуйте экспортировать базу данных как bacpac и импортировать ее в свой экземпляр SQL Server.

Если вы не хотите удалять эти имена входа / пользователей в текущей базе данных SQL Azure, скопируйте его как новый SQL Azure, удалите имена входа, экспортируйте его, а затем удалите скопированную базу данных по завершении.

Если вы хотите восстановить BACPAC в Azure, используйте параметр «Импорт» на портале вместо SSMS.

Загрузите последнюю версию SSMS для максимального удобства пользователей.

02.09.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..