gpt4 book ai didi

sql-server - 将 SQL Server 托管数据库从 azure 导出到本地计算机后,现有密码不起作用

转载 作者:行者123 更新时间:2023-12-03 05:21:59 28 4
gpt4 key购买 nike

将 Azure 数据库导出到存储 - 确定。 <db-name>-<date-time>.bacpac 创建成功。

.bacpac 导入到本地 SQL Server - OK; sa用户可以登录并使用数据库。

本地服务器已配置

sp_configure 'contained database authentication', 1;  

我可以创建新用户

create user [test_new] 
with password = 'some&very=secret-password!'

并且该新用户可以成功登录。

但是导出前数据库中包含的用户无法使用密码登录。

我可以更改并为他们设置新密码,这样就可以了。

alter user [existed_user] 
with password = 'some new or even the same pwd'

我的理解是包含专门设计用于携带身份验证信息的数据库。但由于某些原因它不起作用。

服务器响应错误18456,状态65(即用户存在但密码不匹配)。

是否有我错过的具体操作?

最佳答案

我还对用户编写脚本进行了测试,得到了相同的结果。

密码不是以纯文本形式存储在 SQL Server 中;它们被散列了。哈希算法没有文档记录,并且可能因版本而异。但 SQL Server 的哈希详细信息并不是真正的 secret ,因为您可以附加调试器或离线运行 PWDCOMPARE。

因此,Azure SQL 数据库中的密码哈希看起来与“常规”SQL Server 中的密码哈希不同,这是有道理的,因为它使得对 Azure SQL 数据库密码执行离线攻击变得更加困难。

关于sql-server - 将 SQL Server 托管数据库从 azure 导出到本地计算机后,现有密码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71458636/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com