Sql-Server
如何使用 AD 使用者登錄 SQL Server
我通過管理工具創建了一個 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
了選項,但仍然沒有成功。
好吧,我們確實需要更多資訊,但是您可以做一些事情來排除故障
- 檢查 SQL Server 日誌以查看是否有任何身份驗證失敗。這會讓您知道使用者是否正在連接到實例。
- 檢查日誌還可能顯示您實際上是使用 SQL 身份驗證而不是 Windows 身份驗證進行連接。正如 RDFozz 指出的那樣,您嘗試連接到實例的程序必須在該使用者的上下文中執行。您可以通過使用 windows 帳戶登錄到 windows 會話並啟動程序(或至少使用 runas.exe 以該使用者身份啟動程序)來執行此操作。
- 相反,使用相同的使用者名和密碼創建一個 SQL 登錄名,如果您能夠連接(從任何應用程序),那麼您知道它沒有使用 Windows 身份驗證。不代表不能,只是不能。(並且要解決這個問題,我們肯定需要更多資訊)。
“執行 AS 使用者”將適用於您的方案。
檢查這個:
https://docs.microsoft.com/en-us/sql/t-sql/statements/execute-as-transact-sql?view=sql-server-2017