【问题标题】:SQL Server contained database - get password hashSQL Server 包含的数据库 - 获取密码哈希
【发布时间】:2016-02-01 18:09:12
【问题描述】:

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

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

【问题讨论】:

  • Gosh 把 sql server 和你的实际问题放在谷歌返回可能会有好的结果。 google.com/…

标签: sql-server


【解决方案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

【讨论】:

  • 我只是在找这个。为我节省了一些时间,谢谢。
【解决方案2】:

你试过sp_help_revlogin存储过程吗?

【讨论】:

  • 这个存储过程没有找到登录。原因是包含的用户在实例上没有登录名,因此不在 sys.server_principals 中。
猜你喜欢
  • 2018-01-17
  • 2011-02-19
  • 2011-10-14
  • 2011-02-15
  • 1970-01-01
  • 1970-01-01
  • 2021-11-19
  • 1970-01-01
  • 2012-03-06
相关资源
最近更新 更多