Sql-Server-2008-R2

Windows 身份驗證到 SQL Server 身份驗證

  • April 23, 2018

如何將登錄名從 Windows 身份驗證更改為 SQL Server 身份驗證?

在此處輸入圖像描述

您不能將 Windows 登錄更改為 SQL 登錄。該文件指出:

SQL Server 身份驗證登錄的類型為 sysname,並且必須符合標識符規則,並且不能包含“\”。

由於 Windows 登錄名包含“\”來分隔域和使用者名,因此您需要為 SQL 身份驗證創建新登錄名並分配密碼。

無法將 Windows Authenticated SQL Server Login 更改為 SQL Server Authenticated SQL Server Login。

一個原因是 Windows Authenticated SQL Server Logins 從 Active Directory 檢索 SID 並將其儲存在主數據庫中。另一個原因是反斜杠 ( \) 不是 SQL Server Authenticated SQL Server Login 的有效字元。

TITLE: Microsoft SQL Server Management Studio
------------------------------
Create failed for Login 'Domain\User'.  
(Microsoft.SqlServer.Smo)
...
------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. 
(Microsoft.SqlServer.ConnectionInfo)
------------------------------
'Domain\User' is not a valid name because it contains invalid characters.
(Microsoft SQL Server, Error: 15006)
....
------------------------------
BUTTONS:
OK
------------------------------

您的問題有幾個解決方案,具體取決於您要實現的目標。

1.新建SQL Server Authenticated SQL Server Login

您可以創建一個新的 SQL Server Authenticated SQL Server Login 並為其分配密碼和相關的數據庫權限。\由於上述限制,此帳戶不應包含反斜杠 ( )。

2. 將 Windows Authenticated SQL Server 登錄映射到現有數據庫使用者

您可以將現有的 Windows Authenticated SQL Server 登錄名連結到尚未連結的現有數據庫使用者或新的不存在的數據庫使用者,而不是創建新的 SQL Server Authenticated SQL Server Login。要使用 SSMS 中的 GUI 實現此目的,您

  • 擴展安全分支
  • 展開登錄分支
  • 選擇您的使用者(例如NewComputer\User
  • 打開使用者的屬性
  • 切換到使用者映射部分
  • 選擇相關數據庫
  • 使用者列中插入尚未連結到 SQL Server 登錄的現有數據庫使用者(這些可以在 SSMS 的數據庫\安全\使用者分支中找到)

這會將 Windows Authenticated SQL Server Login 連結到現有的 SQL Server 數據庫使用者。

3. 刪除現有的 Windows Authenticate SQL Server Login and Recreate

如果您要求使用者名與您之前定義為 Windows Authenticated SQL Server Login 的使用者名相同,那麼您必須刪除 SQL Serer Login 並重新創建它,但不要使用反斜杠。然後可以將該使用者連結到數據庫。

4. 登錄問題

如果想要從 Windows Authenticated SQL Server Login 切換到 SQL Server Authenticated SQL Server Login 的原因是登錄問題,那麼您可能需要考慮使用有權訪問數據庫的 Windows 帳戶啟動程序,這將允許你連接到數據庫。要實現這一點,請按照下列步驟操作:

  1. 使用Runas 不同的使用者啟動程序…
  2. 輸入 Windows 憑據
  3. 享受

引用自:https://dba.stackexchange.com/questions/204682