«Неразрешенная ссылка на пользователь» после импорта в виде проекта VS DB
-
28-09-2020 - |
Вопрос
Я просто импортировал существующую базу данных продукции SQL Server 2008R2 в проект баз данных VS 2013.
Теперь я получаю ряд ошибок вдоль линий
Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser].
.
Мне не очень нужен мой Project Project для управления пользователями, но я обеспокоен тем, что он попытался бы удалить их при развертывании, если они не были там.
сами файлы генерируются как
CREATE USER [mydbuser] FOR LOGIN [mydbuser];
.
или
CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser];
.
Ошибка маркера показывает, что он специально для
предпочтительно, чтобы я меняю их все, чтобы
CREATE USER [mydbuser] WITHOUT LOGIN;
.
или добавьте пункт CREATE LOGIN
в начало каждого файла?
Удаление ссылки на вход в систему, кажется, проще и удаляет пользователей в целом будет простейшим.
Я хочу убедиться, что я использую инструмент, как он был предназначен. Будут ли какие-либо проблемы в повторном публикации любого из них вернулись к производству? Какая правильная процедура для добавления пользователя / входа в систему через проект?
Решение
Самый простой способ - не управлять пользователями через SSDT (большинство людей).Таким образом, вы можете просто отбросить их и не развернуть логины или пользователей.
Есть три способа:
- .
- Новые возможности игнорировать пользователей / logins
- Написать вкладчик развертывания, чтобы вытащить их
- Используйте мой вкладчик развертывания http://agilesqlclub.codeplex.com
ed
Другие советы
У меня была такая же проблема и нашел эту ссылку
Если вы создаете конкретные входа в приложение (которые должны) тогда вы собираемся наступить по этой ошибке при попытке построить решение. Чтобы исправить эту ошибку, выберите «Включить» Типы объектов не приложение-Scoped в параметрах (значок шестерни на Вершина) Когда вы делаете схему сравнения (щелкните правой кнопкой мыши проект базы данных до Найти схему сравнить). Затем вы можете просто импортировать логины в свой Регулярный проект и ссылки сортируются. Примечание: если вы нажмете Вкладка типов объектов и закрывает диалог (который он сделал для меня), Вместо этого используйте клавишу Tab, пока не будет выделено нанесение нанести приложение, то Нажмите стрелку вниз, чтобы выделить не приложение-Scoped и нажмите космический бар. Теперь вы должны иметь возможность нажать OK и увидеть логины.
Видимо, эта проблема все еще происходит на проектах баз данных VS2017.
Мне удалось решить его, сначала создавая логин, а затем создать пользователя.
-- Windows Account
CREATE LOGIN [Domain\Username]
FROM WINDOWS WITH DEFAULT_LANGUAGE = [us_english];
GO
CREATE USER [Domain\Username] FOR LOGIN [Domain\Username];
GO
-- Sql Acccount
CREATE LOGIN [sql_account] WITH PASSWORD = 'Ch@ngeth1spA$swurD'
GO
CREATE USER [sql_account]
FROM LOGIN [sql_account]
WITH DEFAULT_SCHEMA = dbo
GO
-- Then set the sql file Build Action to "Build"
.