SQL建立使用者Login,指定SID(密碼有效性驗證失敗。該密碼太短)

來源:互聯網
上載者:User

select * from sys.sql_logins---拷貝出password(雜湊密碼)
CREATE LOGIN test1
WITH PASSWORD = 0x0100DBF387CCF45DAE93115E80D18962C1DB0CC7DCB8A027F93F hashed,  ---可以與拷貝出來使用者賬戶的密碼一致
sid= 0xB08B6E953A82674F84EA34800A5E76D6,
CHECK_POLICY = OFF; -----不強制密碼原則

----------------------------------------------------------------------------

可用於鏡像使用者不一致情況處理:刪除鏡像使用者,建立新使用者

ALTER LOGIN login_name     {     <status_option>     | WITH <set_option> [ ,... ]    | <cryptographic_credential_option>    } <status_option> ::=        ENABLE | DISABLE<set_option> ::=                PASSWORD = 'password' | hashed_password HASHED    [       OLD_PASSWORD = 'oldpassword'      | <password_option> [<password_option> ]     ]    | DEFAULT_DATABASE = database    | DEFAULT_LANGUAGE = language    | NAME = login_name    | CHECK_POLICY = { ON | OFF }    | CHECK_EXPIRATION = { ON | OFF }    | CREDENTIAL = credential_name    | NO CREDENTIAL  <password_option> ::=     MUST_CHANGE | UNLOCK<cryptographic_credentials_option> ::=          ADD CREDENTIAL credential_name          | DROP CREDENTIAL credential_name
參數

login_name

指定正在更改的 SQL Server 登入的名稱。域登入名稱必須用方括弧括起來,其格式為 [domain\user]。

ENABLE | DISABLE

啟用或禁用此登入名稱。

PASSWORD ='password '

僅適用於 SQL Server 登入名。指定正在更改的登入的密碼。密碼是區分大小寫。

PASSWORD =hashed_password

僅適用於 HASHED 關鍵字。指定要建立的登入名稱的密碼的雜湊值。

HASHED

僅適用於 SQL Server 登入名。指定在 PASSWORD 參數後輸入的密碼已經過雜湊運算。如果未選擇此選項,則在將密碼儲存到資料庫之前,對其進行雜湊運算。此選項只能用於在兩台伺服器之間同步登入名稱。切勿使用 HASHED 選項定期更改密碼。

注意

此參數只能用於 SQL Server 2000 或更高版本所產生的雜湊。

OLD_PASSWORD ='oldpassword '

僅適用於 SQL Server 登入名。要指派新密碼的登入的當前密碼。密碼是區分大小寫。

MUST_CHANGE

僅適用於 SQL Server 登入名。如果包括此選項,則 SQL Server 將在首次使用已更改的登入名稱時提示輸入更新的密碼。

DEFAULT_DATABASE =database

指定將指派給登入名稱的預設資料庫。

DEFAULT_LANGUAGE =language

指定將指派給登入名稱的預設語言。

NAME = login_name

正在重新命名的登入的新名稱。如果是 Windows 登入,則與新名稱對應的 Windows 主體的 SID 必須匹配與 SQL Server 中的登入相關聯的 SID。SQL Server 登入的新名稱不能包含反斜線字元 (\)。

CHECK_EXPIRATION = { ON | OFF }

僅適用於 SQL Server 登入名。指定是否對此登入名稱強制實施密碼到期策略。預設值為 OFF。

CHECK_POLICY = { ON | OFF }

僅適用於 SQL Server 登入名。指定應對此登入名稱強制實施運行 SQL Server 的電腦的 Windows 密碼原則。預設值為 ON。

CREDENTIAL = credential_name

將映射到 SQL Server 登入的憑據的名稱。該憑據必須已存在於伺服器中。有關詳細資料,請參閱 憑據(資料庫引擎)。

NO CREDENTIAL

刪除登入到伺服器憑據的當前所有映射。有關詳細資料,請參閱憑據(資料庫引擎)。

UNLOCK

僅適用於 SQL Server 登入名。指定應解鎖被鎖定的登入名稱。

ADD CREDENTIAL

將可擴充的密鑰管理 (EKM) 提供者憑據添加到登入名稱。有關詳細資料,請參閱瞭解可擴充的密鑰管理 (EKM)。

DROP CREDENTIAL

刪除登入名稱的可擴充密鑰管理 (EKM) 提供者憑據。有關詳細資料,請參閱瞭解可擴充的密鑰管理 (EKM)。

注釋

如果 CHECK_POLICY 設定為 ON,則無法使用 HASHED 參數。

如果 CHECK_POLICY 更改為 ON,則將出現以下行為:

  • CHECK_EXPIRATION 也設定為 ON,除非它被顯式設定為 OFF。

  • 密碼記錄使用當前的密碼雜湊值初始化。

如果 CHECK_POLICY 更改為 OFF,則將出現以下行為:

  • CHECK_EXPIRATION 也設定為 OFF。

  • 清除密碼記錄。

  • lockout_time 的值被重設。

如果指定 MUST_CHANGE,則 CHECK_EXPIRATION 和 CHECK_POLICY 必須設定為 ON。否則,該語句將失敗。

如果 CHECK_POLICY 設定為 OFF,則 CHECK_EXPIRATION 不能設定為 ON。包含此選項組合的 ALTER LOGIN 語句將失敗。

重要提示

只有在 Windows Server 2003 及更高版本上才會強制執行 CHECK_EXPIRATION 和 CHECK_POLICY。有關詳細資料,請參閱密碼原則。

重要提示

Windows Server 2003 中的一個已知問題可能會阻止錯誤密碼計數在達到帳戶鎖定閾值後重設。這可能會導致當後續登入嘗試失敗後立即鎖定。可以通過暫時設定 CHECK_POLICY = OFF,然後設定 CHECK_POLICY = ON 來手動重設錯誤的密碼計數。有關帳戶鎖定閾值的詳細資料,請參閱 Microsoft 知識庫文章 818078:Your User Account May Be Prematurely
Locked Out(您的使用者帳戶可能被提前鎖定)。

不能使用帶 DISABLE 參數的 ALTER_LOGIN 來拒絕對 Windows 組的訪問。例如,ALTER_LOGIN [domain\group] DISABLE 將返回以下錯誤訊息:

“訊息 15151,層級 16,狀態 1,第 1 行”

“無法對登入名稱‘Domain\Group' 執行更改,因為它不存在,或者您沒有所需的許可權。”

這是預設設定。

許可權

需要 ALTER ANY LOGIN 許可權。

如果使用 CREDENTIAL 選項,則還需要 ALTER ANY CREDENTIAL 許可權。

如果正在更改的登入名稱是 sysadmin 固定伺服器角色的成員或 CONTROL SERVER 許可權的被授權者,則進行以下更改時還需要 CONTROL SERVER 許可權:

  • 在不提供舊密碼的情況下重設密碼。

  • 啟用 MUST_CHANGE、CHECK_POLICY 或 CHECK_EXPIRATION。

  • 更改登入名稱。

  • 啟用或禁用登入名稱。

  • 將登入名稱映射到其他憑據。

主體可更改用於自身登入的密碼、預設語言以及預設資料庫。

樣本

A. 啟用已禁用的登入名稱

以下樣本將啟用 Mary5 登入名稱。

ALTER LOGIN Mary5 ENABLE;
B. 更改登入密碼

以下樣本將登入名稱 Mary5 的密碼更改為強密碼。

ALTER LOGIN Mary5 WITH PASSWORD = '<enterStrongPasswordHere>';
C. 更改登入名稱稱

以下樣本將 Mary5 登入名稱稱更改為 John2。

ALTER LOGIN Mary5 WITH NAME = John2;
D. 將登入名稱映射到憑據

以下樣本將登入名稱 John2 映射到憑據 Custodian04。

ALTER LOGIN John2 WITH CREDENTIAL = Custodian04;
E. 將登入名稱映射到可擴充密鑰管理認證

以下樣本將登入名稱 Mary5 映射到 EKM 憑據 EKMProvider1。

ALTER LOGIN Mary5ADD CREDENTIAL EKMProvider1;GO
F. 解除鎖定登入名稱

若要解除鎖定 SQL Server 登入名,請執行以下語句,並將 **** 替換為所需帳戶密碼。

ALTER LOGIN [Mary5] WITH PASSWORD = '****' UNLOCK ;GO

若要在不更改密碼的情況下解除鎖定登入名稱,請關閉檢查策略,然後再開啟此檢查策略。

ALTER LOGIN [Mary5] WITH CHECK_POLICY = OFF;ALTER LOGIN [Mary5] WITH CHECK_POLICY = ON;GO
G. 使用 HASHED 更改登入名稱的密碼

以下樣本將 TestUser 登入名稱的密碼更改為已經過雜湊運算的值。

ALTER LOGIN TestUser WITH PASSWORD = 0x01000CF35567C60BFB41EBDE4CF700A985A13D773D6B45B90900 HASHED ;GO

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.