SQLServer 中的身份驗證及登錄問題


SQLServer 中的身份驗證及登錄問題

by:授客 QQ1033553122

身份驗證

SQL Server 支持兩種身份驗證模式,即Windows 身份驗證模式和混合模式。

  • Windows 身份驗證是默認模式(通常稱為集成安全),因為此 SQL Server 安全模型與 Windows 緊密集成。 信任特定 Windows 用戶和組帳戶登錄 SQL Server 已經過身份驗證的 Windows 用戶不必提供附加的憑據。
  • 混合模式支持由 Windows SQL Server 進行身份驗證。用戶名和密碼保留在 SQL Server 內。

安全說明

我們建議盡可能使用 Windows 身份驗證。 Windows 身份驗證使用一系列加密消息來驗證 SQL Server 中的用戶。 使用 SQL Server 登錄時,將跨網絡傳遞 SQL Server 登錄名和密碼,這樣會降低它們的安全性

使用 Windows 身份驗證時,用戶已登錄到 Windows,無需另外登錄到 SQL Server。下面的 SqlConnection.ConnectionString 可指定 Windows 身份驗證,而無需用戶名或密碼。"Server=MSSQL1;Database=AdventureWorks;Integrated Security=true;

說明

登錄名與數據庫用戶名不同。您必須通過單獨的操作將登錄或Windows組映射到數據庫用戶或角色。然后向用戶或角色授予訪問數據庫對象的權限

身份驗證方案


在下列情形中,Windows 身份驗證通常為最佳選擇:

  • 存在域控制器。
  • 應用程序和數據庫位於同一台計算機上。
  • 您正在使用 SQL Server Express LocalDB 的實例。

SQL Server 登錄常常在以下情況中使用:

  • 您有工作組。
  • 用戶從其他不受信任的域進行連接。
  • Internet 應用程序(例如 ASP.NET)。

說明

指定 Windows 身份驗證不會禁用 SQL Server 登錄。 使用 ALTER LOGIN DISABLE Transact-SQL語句可禁用具有高級權限的 SQL Server 登錄

 

登錄類型


SQL Server 支持三種登錄類型:

  • 本地 Windows 用戶帳戶或受信任的域帳戶。 SQL Server 依靠 Windows 來對 Windows 用戶帳戶進行身份驗證。
  • Windows 組。向 Windows 組授予訪問權限會向作為該組的成員的所有 Windows 用戶登錄授予訪問權限。
  • SQL Server登錄。 SQL Server 將用戶名和密碼的哈希都存儲在 master 數據庫中,使用內部身份驗證方法來驗證登錄嘗試。

說明

SQL Server 提供了從證書或非對稱密鑰創建的登錄名,僅用於代碼簽名。 這些登錄名不能用於連接到 SQL Server

 

混合模式身份驗證


如果您必須使用混合模式身份驗證,則必須創建 SQL Server 登錄名,這些登錄名存儲在 SQL Server中。 然后,您必須在運行時提供 SQL Server 用戶名和密碼。

 

安全說明

SQL Server 使用名為 sasystem administrator的縮寫)的 SQL Server 登錄名進行安裝。 sa 登錄分配一個強密碼,並且不要在應用程序中使用 sa 登錄。 sa 登錄名會映射到 sysadmin 固定服務器角色,它對整個服務器有不能撤銷的管理憑據。 如果攻擊者以系統管理員的身份獲取了訪問權限,則可能造成的危害是無法預計的。 默認情況下,Windows BUILTIN\Administrators 組(本地管理員組)的所有成員均為 sysadmin 角色的成員,但可以從該角色中移除這些成員。

SQL Server 提供了在Windows Server 2003 或更高版本上運行時 SQL Server 登錄的Windows 密碼策略機制。 密碼復雜性策略通過增加可能密碼的數量來阻止強力攻擊。 SQL Server 可將Windows Server 2003 中使用的相同復雜性和到期策略應用於 SQL Server 中使用的密碼。

安全說明

連接來自用戶輸入的連接字符串會使您遭受連接字符串注入攻擊。 可使用 SqlConnectionStringBuilder 在運行時創建語法構成有效的連接字符串。 有關更多信息,請參見連接字符串生成器

安裝說明

如果在安裝過程中選擇混合模式身份驗證,則必須為名為 sa 的內置SQL Server 系統管理員帳戶提供一個強密碼並確認該密碼。 sa 帳戶通過使用 SQL Server 身份驗證進行連接。

如果在安裝過程中選擇 Windows 身份驗證,則安裝程序會為 SQL Server 身份驗證創建 sa 帳戶,但會禁用該帳戶。

 

登錄問題

如下,遇到18456登錄錯誤問題(注:安裝完用sa用戶和密碼,以sqlserver身份驗證模式可以登錄,就是不能以Windows身份驗證登錄)

SQLServer <wbr>中的身份驗證及登錄問題

 

 

解決方法:

1.開始菜單中找到配置管理工具並打開

SQLServer <wbr>中的身份驗證及登錄問題

 



2.如圖,找到服務,右鍵服務,然后設置登錄方式為“本賬戶”,賬戶名為計算機登錄用戶名,密碼為計算機登錄密碼,重新啟動服務

SQLServer <wbr>中的身份驗證及登錄問題

 

 

ok

 

問題:當再次切換到本地系統,重啟服務,發現不能啟動了,咋辦?

解決方法:進入Windows控制面板,找到對應服務,右鍵-屬性,設置登錄為本地系統賬戶,重啟服務,ok

SQLServer <wbr>中的身份驗證及登錄問題

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM