Sql server 使用密码提取数据库用户

Sql server 使用密码提取数据库用户,sql-server,tsql,ssms,Sql Server,Tsql,Ssms,我想使用sql登录在包含的数据库中为数据库用户编写脚本。我正在使用下面的查询,但它只是创建一个数据库用户,而不是使用密码的sql登录。是否可以在加密输出中编写密码脚本,以便正确恢复密码 SELECT '-- [-- DB USERS --] --' AS [-- SQL STATEMENTS --], 3 AS [-- RESULT ORDER HOLDER --] UNION SELECT 'IF NOT EXISTS (SELECT [name] FROM sys.database_pr

我想使用sql登录在包含的数据库中为数据库用户编写脚本。我正在使用下面的查询,但它只是创建一个数据库用户,而不是使用密码的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;
我想使用 sql登录

包含数据库的中心思想是它们是可传输的,因此此类数据库的数据库主体(或用户)不会映射到实例级登录,因为它们是独立的,并且它们的范围是“包含数据库”

因此,通过简单的数据库备份/恢复或附加/分离,可以将这些用户与数据库一起移动到另一个实例/服务器。当然,新实例应该支持这样的数据库


如果数据库主体确实连接到实例级登录,则可以通过以下方式编写登录脚本:

99%确定您无法查询用户密码。我正在考虑用加密密码将其提取出来,然后我们可以将其还原到另一个VM。