將 Azure 資料庫匯出到存盤 - 好的。<db-name>-<date-time>.bacpac創建成功。
從那里匯入.bacpac到本地 SQL Server - 好的;用戶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(即用戶存在但密碼不匹配)。
有沒有我錯過的具體行動?
uj5u.com熱心網友回復:
我還用相同的結果為用戶撰寫腳本進行了測驗。
密碼不以純文本形式存盤在 SQL Server 中;它們是散列的。并且散列演算法未記錄在案,并且可能因版本而異。但是 SQL Server 的散列詳細資訊并不是真正的秘密,因為您可以附加除錯器或脫機運行 PWDCOMPARE。
因此,Azure SQL 資料庫中的密碼哈希看起來與“常規”SQL Server 中的密碼散列不同,這是有道理的,因為它使得對 Azure SQL 資料庫密碼執行脫機攻擊變得更加困難。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/442846.html
