Azure SQL Server Admin v / s Обычный пользователь - PullRequest
0 голосов
/ 28 августа 2018

В настоящее время я являюсь администратором сервера на сервере SQL Azure. Когда я создаю приложение-функцию Azure и подключаюсь к базе данных (на сервере), мне нужно указать строку подключения sql из приложения. Строка подключения будет использовать мое имя пользователя и пароль.

Я хочу изменить это, чтобы администратор сервера был активной группой каталогов (группа разработки или что-то в этом роде). Служба поддержки Microsoft сказала мне, что я не могу установить пароль для активной группы каталогов. Как создать строку подключения без пароля? Или мне нужно создать учетную запись Office 365 с удостоверением разработчика, чтобы я мог установить пользователя и пароль разработчика?

В управлении сервером Sql (ssms) администратор сервера указан в каталоге безопасности. Я использовал имя пользователя и пароль администратора сервера для подключения к базе данных из приложений-функций Azure.

Теперь я создал пользователя с именем Development для ssms следующим образом:

USE CompanyDatabase СОЗДАТЬ ЛОГИН Разработка С ПАРОЛЕМ = 'пароль'; GO

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

Исключение было сгенерировано целью вызова. Поставщик данных .Net SqlClient: основной сервер "Development" не может получить доступ к базе данных

1 Ответ

0 голосов
/ 29 августа 2018

Вы только что создали ЛОГИН с помощью команды, которую вы упомянули.

Следующим шагом является создание ПОЛЬЗОВАТЕЛЯ, который будет использовать этот логин, а затем назначить некоторые разрешения этому пользователю. Я привел пример с db_datawriter, но вы можете выбрать что-то другое, например db_datareader или db_owner и т. Д.

СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ [Разработка] ИЗ ЛОГИНА [Разработка]

EXEC sp_addrolemember 'db_datawriter', 'Development';

Также отметим, что база данных SQL Azure поддерживает модель пользователей автономной базы данных, где вам не нужно сначала создавать имя входа на уровне сервера, а затем пользователя на его основе, вместо этого вы напрямую создаете пользователя, который содержится только в эта база данных. Есть некоторые плюсы и минусы использования этой модели. Вы можете получить больше информации об этом здесь -

https://docs.microsoft.com/en-us/sql/relational-databases/security/contained-database-users-making-your-database-portable?view=sql-server-2017

...