Сценарий SQL Server для создания нового пользователя

Изучите STL сначала. Если Вы изучите C++ с Повышением от запуска, то Вам придется нелегко позже в задании, где Повышение не используется (из-за лицензирования причин и т.д.). Знайте стандарт языка сначала и затем разверните его с Повышением позже при необходимости в нем для определенных вещей.

86
задан Md. Suman Kabir 4 July 2018 в 15:09
поделиться

3 ответа

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

Создание логина простое и (очевидно) должно быть выполнено до создания ] Учетная запись пользователя для входа в конкретную базу данных:

CREATE LOGIN NewAdminName WITH PASSWORD = 'ABCD'
GO

Вот как вы создаете пользователя с привилегиями db_owner, используя только что объявленный вход :

Use YourDatabase;
GO

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'NewAdminName')
BEGIN
    CREATE USER [NewAdminName] FOR LOGIN [NewAdminName]
    EXEC sp_addrolemember N'db_owner', N'NewAdminName'
END;
GO

Теперь , Логины немного более гибкие, чем я представлял выше. Например, Учетная запись для входа автоматически создается (в большинстве установок SQL Server) для учетной записи администратора Windows при установке базы данных. В большинстве случаев я просто использую это, когда администрирую базу данных (у нее есть все привилегии).

Однако, если вы собираетесь обращаться к SQL Server из приложения, вам нужно настроить сервер на «Смешанный режим» (как для входа в Windows, так и для входа в SQL) и создать логин, как показано выше. Затем вы «ПРЕДОСТАВЛЯЕТЕ» привилегии для этого входа в систему SQL в зависимости от того, что требуется для вашего приложения. См. здесь для получения дополнительной информации.

ОБНОВЛЕНИЕ: Аарон указывает на использование sp_addsrvrolemember для назначения подготовленной роли вашей учетной записи. Это хорошая идея - быстрее и проще, чем предоставление привилегий вручную. Если вы погуглите, вы увидите множество ссылок. Однако,

179
ответ дан 24 November 2019 в 07:58
поделиться

Полные права администратора для всего сервера или отдельной базы данных? Я думаю, что другие ответили за базу данных, но за сервер:

USE [master];
GO
CREATE LOGIN MyNewAdminUser 
    WITH PASSWORD    = N'abcd',
    CHECK_POLICY     = OFF,
    CHECK_EXPIRATION = OFF;
GO
EXEC sp_addsrvrolemember 
    @loginame = N'MyNewAdminUser', 
    @rolename = N'sysadmin';

Вам может потребоваться не включать параметры CHECK_ в зависимости от того, какую версию SQL Server Express вы используете (это почти всегда полезно для включите эту информацию в свой вопрос).

29
ответ дан 24 November 2019 в 07:58
поделиться

Вы можете использовать:

CREATE LOGIN <login name> WITH PASSWORD = '<password>' ; GO 

Чтобы создать логин (см. здесь для более подробной информации).

Затем вам может потребоваться использовать:

CREATE USER user_name 

Чтобы создать пользователя, связанного с логином для конкретной базы данных, вы также хотите предоставить им доступ.

(См. ] здесь для подробностей)

Вы также можете использовать:

GRANT permission  [ ,...n ] ON SCHEMA :: schema_name

Для настройки разрешений для схемы, которой вы назначили пользователей.

(Подробнее см. здесь )

Две другие команды, которые могут оказаться полезными: ALTER USER и ALTER LOGIN .

4
ответ дан 24 November 2019 в 07:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: