3 回答

TA貢獻1785條經驗 獲得超8個贊
NETWORK SERVICE和LocalSystem始終將自己作為本地對應的帳戶(內置\網絡服務和內置\系統)進行身份驗證,但是兩者都將作為遠程計算機帳戶進行身份驗證。
如果看到這樣的故障Login failed for user 'DOMAIN\MACHINENAME$'
,則表明以NETWORK SERVICE或LocalSystem身份運行的進程已訪問了遠程資源,已將自身身份驗證為計算機帳戶,并被拒絕授權。
典型示例是在應用程序池中運行的ASP應用程序,該應用程序池設置為使用NETWORK SERVICE憑據并連接到遠程SQL Server:該應用程序池將通過運行該應用程序池的計算機進行身份驗證,并且該計算機帳戶需要被授予訪問權限。
如果拒絕對計算機帳戶的訪問,則必須將訪問權限授予該計算機帳戶。如果服務器拒絕登錄“ DOMAIN \ MACHINE $”,那么您必須授予“ DOMAIN \ MACHINE $”登錄權限,而不是“網絡服務”。授予對NETWORK SERVICE的訪問權限將允許以NETWORK SERVICE身份運行的本地進程連接,而不是遠程進程,因為您猜到該遠程進程將通過DOMAIN \ MACHINE $進行身份驗證。
如果您期望asp應用程序作為SQL登錄名連接到遠程SQL Server,并且獲得有關DOMAIN \ MACHINE $的異常,則意味著您在連接字符串中使用Integrated Security。如果這是意外情況,則表示您已擰緊使用的連接字符串。

TA貢獻2065條經驗 獲得超14個贊
當您使用IIS配置應用程序時,會發生此錯誤,并且IIS轉到SQL Server并嘗試使用沒有適當權限的憑據登錄。設置復制或鏡像時,也會發生此錯誤。我將介紹一個始終有效且非常簡單的解決方案。轉到SQL Server >>安全>>登錄,然后右鍵單擊NT AUTHORITY \ NETWORK SERVICE,然后選擇“屬性”。
在新打開的登錄屬性屏幕中,轉到“用戶映射”選項卡。然后,在“用戶映射”選項卡上,選擇所需的數據庫,尤其是顯示此錯誤消息的數據庫。在下部屏幕上,檢查角色db_owner。單擊確定。
- 3 回答
- 0 關注
- 869 瀏覽
添加回答
舉報