Sql-Server
消息 15404,級別 16,狀態 10,過程 xp_logininfo - 缺少權限
我在美國有一台伺服器,我不是域管理員,我的權限僅限於
sql server
- 我所在的地方sysadmin
。在將一些數據庫遷移到新伺服器後,我注意到我需要返回舊伺服器以獲取我的登錄名和相關權限之一。
當我執行以下命令時:
EXEC xp_logininfo 'gplondon';
我得到:
消息 15404,級別 16,狀態 10,過程 xp_logininfo,第 62 行
$$ Batch Start Line 6 $$無法獲取有關 Windows NT 組/使用者“gplondon”的資訊,錯誤程式碼 0xffff0002。
我知道我在 sql server 中擁有執行 xp_logininfo 的所有權限
但是缺少哪些其他權限使我(或該伺服器上的 sql server 服務)無法詢問活動目錄?
換句話說,以前一切正常,現在缺少什麼權限?
檢查錯誤日誌後
xp_readerrorlog 0, 1, "error" , NULL, NULL, NULL, N'desc'
然後檢查錯誤消息:
BEGIN TRY EXEC xp_logininfo 'gplondon'; END TRY BEGIN CATCH SELECT ERROR_NUMBER() AS ErrorNumber ,ERROR_MESSAGE() END CATCH;
15404
無法獲取有關 Windows NT 組/使用者 ‘gplondon’ 的資訊,錯誤程式碼 0xffff0002。
select * from sys.server_principals where name = 'gplondon'
我發現了一些明顯的東西:
gplondon
在活動目錄中不存在,因為它是sql login
如果 account_name 是與 SQL Server 登錄無關的有效 Windows 使用者或組,則返回空結果集。如果 account_name 無法辨識為有效的 Windows 使用者或組,則返回錯誤消息。