У нас есть SQL Server, который использует аутентификацию SQL Server, с пользователями, которые могут развернуть, и другие, которые могут читать, для простоты, я буду называть их «развернуть» и «сеть».Могу ли я игнорировать логины при публикации проекта базы данных Visual Studio?
У меня возникли трудности с установкой разрешений с использованием проекта базы данных Visual Studio (2012), так как пользователь «развернуть» не имеет достаточных разрешений для создания новых серверов.
Я могу добавить скрипты, чтобы сделать такие вещи, как:
GRANT SELECT ON foo.bar TO [web]
Это то дуется (с "SQL71501: Разрешение имеет неразрешенный ссылку на объект [Интернет]."), Пока я не добавить:
CREATE USER [web] FOR LOGIN [web];
Это то дуется (с "SQL71501: Пользователь: [Web] имеет неразрешенный ссылку на Логин [Интернет]."), пока я не добавить:
CREATE LOGIN [web] WITH PASSWORD = '******';
Это тогда не удается опубликовать с:
Отбрасывания Разрешения ...
капельного Разрешения ...
Создания [Веб] ...
(67,1): SQL72014: Provider .Net SqlClient данных : Msg 15247, уровень 16, состояние 1, строка 1 У пользователя нет разрешения на выполнение этого действия.
(67,0): SQL72045: ошибка выполнения сценария. Выполненный скрипт:
CREATE LOGIN [webuser]
С PASSWORD = '**';Произошла ошибка во время выполнения партии.
Это не имеет смысла, так как пользователь уже существует, поэтому не нужно создавать
Как я могу разрешить публикацию через пользователем развертывания, не пытаясь (пере) создать логин каждый раз? Или, возможно ли ссылаться на созданного извне пользователя, не публикуя его?