Извлечение пользователей базы данных с помощью паролей - PullRequest
0 голосов
/ 10 июня 2019

Я хочу написать сценарий для пользователей базы данных в моей автономной базе данных, используя sql login.Я использую приведенный ниже запрос, но он только создает пользователя базы данных, а не логин SQL с паролемМожно ли записать пароль в зашифрованном виде, чтобы я мог восстановить его правильно?

SELECT '-- [-- DB USERS --] --' AS [-- SQL STATEMENTS --], 3 AS [-- RESULT ORDER HOLDER --] 
UNION SELECT  'IF NOT EXISTS (SELECT [name] FROM sys.database_principals WHERE [name] = ' + SPACE(1) + '''' + [name] + '''' + ') 
BEGIN CREATE USER ' + SPACE(1) + QUOTENAME([name]) + ' FOR LOGIN ' + QUOTENAME([name]) + ' WITH DEFAULT_SCHEMA = ' + QUOTENAME([default_schema_name]) + SPACE(1) + 'END; ' AS [-- SQL STATEMENTS --], 4 AS [-- RESULT ORDER HOLDER --] FROM sys.database_principals AS rm
WHERE [type] IN ('U', 'S', 'G') -- windows users, sql users, windows groups

результат

IF NOT EXISTS (SELECT [name] FROM sys.database_principals WHERE [name] ='DJlogin') BEGIN CREATE USER  [DJlogin] FOR LOGIN [DJlogin] WITH DEFAULT_SCHEMA = [dbo] END;

1 Ответ

1 голос
/ 10 июня 2019

Я хочу написать сценарий для пользователей базы данных в моей автономной базе данных, используя sql login

Основная идея автономных баз данных в том, что они переносимы , поэтому принципалы базы данных(или пользователи) таких баз данных не сопоставляются с именами входа на уровне экземпляра, поскольку они независимы и их область действия - «содержащаяся база данных».

Поэтому таких пользователей можно переместить на другой экземпляр / сервер вместе с базой данных с помощьюпростое резервное копирование / восстановление или присоединение / отсоединение такой базы данных.Конечно, в новом экземпляре должна быть включена поддержка таких баз данных.

В случае, если субъект базы данных действительно подключен к имени входа на уровне экземпляра, такой вход в систему можно записать с помощью известного: Как передать имена входаи пароли между экземплярами SQL Server

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