SQL Server包含数据库 - 获取密码哈希

时间:2016-02-01 18:09:12

标签: sql-server

我有一个包含数据库,用户只在数据库中进行身份验证(即带有密码的SQL用户)。我要做的是“无视”数据库。在我可以将数据库更改为包含'NONE'之前,我必须删除所有包含的用户。我真正想要做的是为保留相同密码的用户创建SQL登录。

使用服务器登录,我可以使用LOGINPROPERTY('myusername','PasswordHash')来获取密码哈希。对于具有密码的SQL用户(包含的用户),返回null。我在哪里可以获得包含用户的密码哈希?

2 个答案:

答案 0 :(得分:1)

本文的答案为http://sqlblog.com/blogs/argenis_fernandez/archive/2014/07/28/scripting-out-contained-database-users.aspx

文章指出,对于包含的数据库用户,(当前)没有连接到DAC(专用管理员连接)的方法来获取SID或密码哈希。建立DAC连接后,以下查询将为您提供密码哈希:

SELECT password FROM sys.sysowners WHERE name = 'ContainedUser'

有关如何连接DAC与SSMS的信息,请参阅https://technet.microsoft.com/en-us/library/ms178068(v=sql.105).aspx

答案 1 :(得分:-1)

您是否尝试过sp_help_revlogin存储过程?