SQL Server создание логинов и пользователей другим пользователем - PullRequest
1 голос
/ 02 марта 2011

Я использую SQL Server Express 2005. У меня есть одна база данных myDB

Я создал Логин L-1 с пользователем U-1 в базе данных myDB.

Для подключения к базе данных myDB я нашел 3 способа:

-1 (a) - после создания логина L-1 с базой данных по умолчанию = myDB, мне нужно создать пользователя U-1, а когда я подключился к серверу SQL, он подключился.

Я использовал этот запрос:

create login L-1 with password='passL1'  , default_database = myDB

use myDB

create user U-1 for login L-1 

Означает, что создание пользователя внутри логина дает пользователю разрешение на подключение неявно. Я прав?

-1 (b) -Я не создал пользователя U-1, но выполнил это:

use myDB

sp_grantdbaccess L-1 

это также заставило меня подключиться, причина в том, что sql неявно добавил пользователя с именем L-1 в базу данных myDB. Я прав?

-1 (c) - на этот раз я не создал ни одного пользователя U-1, но выполнил это:

sp_changedbowner L-1  

это также заставило меня подключиться, причина в том, что sql неявно добавил пользователя с именем L-1 в базу данных myDB. Я прав?

Теперь я хочу дать пользователю U-1, созданному в 1 (a), следующие разрешения:

  1. Создание логинов L-2, L-3
  2. Создать пользователей U2, U3, которые также могут подключаться к базе данных myDB.

Как мне это сделать?

1 Ответ

1 голос
/ 02 марта 2011

Да - вызов sp_grantdbaccess или sp_changedbowner просто неявно сделает то, что вы обычно делаете с CREATE USER - без разницы.

Вызов CREATE USER явно просто понятнее , более очевидно, что вы делаете и т. Д.

Также: больше не используйте sp_grantdbaccess - потому что:

Эта функция будет удалена в будущей версии Microsoft SQL Server.Избегайте использования этой функции в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию.Вместо этого используйте CREATE USER.

Источник: Technet для sp_Grantdbaccess

И также не используйте sp_changedbowner - по той же причине:

Эта функция будет удалена в будущей версии Microsoft SQL Server.Избегайте использования этой функции в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию.Вместо этого используйте ALTER AUTHORIZATION.

Источник: Техник на sp_changedbower

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...