Sql-Server

如何使用 AD 使用者登錄 SQL Server

  • September 13, 2018

我通過管理工具創建了一個 AD 使用者,然後執行了以下命令:

-- Add AD user EX. thu1 to database master

USE [master]
GO
CREATE LOGIN [QALAB\ABC1] FROM WINDOWS WITH DEFAULT_DATABASE=[master]
GO

-- Add AD user to database test_db

USE [test_db]
GO
CREATE USER [QALAB\ABC1] FOR LOGIN [QALAB\ABC1]
GO

-- Add AD user role in database

USE [test_db]
GO
ALTER ROLE [db_datareader] ADD MEMBER [QALAB\ABC1]
GO

現在我希望使用 登錄到 SQL Server QALAB\ABC1,但不能。我在 Windows 身份驗證下看不到這個使用者。我也嘗試active directory with password了選項,但仍然沒有成功。

好吧,我們確實需要更多資訊,但是您可以做一些事情來排除故障

  1. 檢查 SQL Server 日誌以查看是否有任何身份驗證失敗。這會讓您知道使用者是否正在連接到實例。
  2. 檢查日誌還可能顯示您實際上是使用 SQL 身份驗證而不是 Windows 身份驗證進行連接。正如 RDFozz 指出的那樣,您嘗試連接到實例的程序必須在該使用者的上下文中執行。您可以通過使用 windows 帳戶登錄到 windows 會話並啟動程序(或至少使用 runas.exe 以該使用者身份啟動程序)來執行此操作。
  3. 相反,使用相同的使用者名和密碼創建一個 SQL 登錄名,如果您能夠連接(從任何應用程序),那麼您知道它沒有使用 Windows 身份驗證。不代表不能,只是不能。(並且要解決這個問題,我們肯定需要更多資訊)。

“執行 AS 使用者”將適用於您的方案。

檢查這個:

https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-transact-sql?view=sql-server-2017

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