sql >> Databasteknik >  >> RDS >> Sqlserver

Inloggning misslyckades för användaren 'DOMAIN\MACHINENAME$'

NÄTVERKSTJÄNST och LocalSystem kommer alltid att autentisera sig som motsvarande konto lokalt (inbyggd\nätverkstjänst och inbyggd\system) men båda kommer att autentiseras som maskinkontot på distans.

Om du ser ett fel som Login failed for user 'DOMAIN\MACHINENAME$' det betyder att en process som körs som NÄTVERKSTJÄNST eller som LocalSystem har fått åtkomst till en fjärrresurs, har autentiserat sig som maskinkontot och nekats auktorisering.

Ett typiskt exempel skulle vara en ASP-applikation som körs i en apppool som är inställd på att använda NETWORK SERVICE-uppgifter och ansluter till en fjärransluten SQL-server:apppoolen kommer att autentiseras som maskinen kör apppoolen, och är detta maskinkonto som måste ges åtkomst.

När åtkomst nekas till ett maskinkonto måste åtkomst beviljas till maskinkontot. Om servern vägrar att logga in på 'DOMAIN\MACHINE$', måste du ge inloggningsrättigheter till 'DOMAIN\MACHINE$' inte till NÄTVERKSTJÄNST. Att bevilja åtkomst till NÄTVERKSTJÄNST skulle tillåta en lokal process som körs som NÄTVERKSTJÄNST för att ansluta, inte en fjärransluten, eftersom den fjärranslutna kommer att autentisera som, du gissade, DOMAIN\MACHINE$.

Om du förväntar dig att asp-applikationen ska ansluta till den fjärranslutna SQL-servern som en SQL-inloggning och du får undantag om DOMAIN\MACHINE$ betyder det att du använder Integrated Security i anslutningssträngen. Om detta är oväntat betyder det att du har skruvat ihop anslutningssträngarna du använder.



  1. En introduktion till Concurrent Collection API:er i Java

  2. Migrera från MSSQL till PostgreSQL - Vad du bör veta

  3. Skapa en PostgreSQL-replikeringsinstallation på Debian/Ubuntu

  4. Vad är SQL? Vad är en databas? Relationella databashanteringssystem (RDBMS) förklaras på vanlig engelska.