Sql-Server
禁用部分包含數據庫的密碼策略
我陷入了需要為部分包含的數據庫(SQL Server 2016)創建新使用者的情況。密碼很短,所以我收到一個錯誤:
密碼驗證失敗。密碼太短,不符合 Windows 策略要求。
在實例級別創建登錄時,可以選擇取消選中“強制密碼策略”、“強制密碼過期”和“使用者下次登錄時必須更改密碼”。為部分包含的數據庫創建使用者時沒有這樣的選項。
有沒有辦法解決這個問題?
由於文件的語法部分
CREATE USER
不包含該選項,因此我認為該命令CHECK_POLICY
不可能。CREATE USER
似乎實現它的唯一方法是一種解決方法。您應該使用sp_migrate_user_to_contained創建一個普通的 SQL Server 登錄
CHECK_POLICY = OFF
並遷移它。CREATE DATABASE Test; GO EXECUTE sp_configure 'contained database authentication', 1; RECONFIGURE; GO ALTER DATABASE Test SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE; GO ALTER DATABASE Test SET containment=partial; GO ALTER DATABASE Test SET MULTI_USER; GO USE Test; GO CREATE LOGIN userWeakPWD WITH PASSWORD='pwd', CHECK_POLICY = OFF; GO CREATE USER userWeakPWD FOR LOGIN userWeakPWD; GO EXEC sp_migrate_user_to_contained @username = N'userWeakPWD', @rename = N'keep_name', @disablelogin = N'disable_login'; GO
我找不到來自 Microsoft 的任何文件,說明使用 . 創建新的包含使用者的現有限制
CHECK_POLICY = OFF
,但我沒有幸運地找到一個正式解釋如何實現它的文件。資料來源:CHECK_POLICY = OFF 包含 CREATE USER 聲明(致 Shulei Chen)