sql >> Databasteknik >  >> RDS >> Sqlserver

Felsökning av Microsoft SQL Server Error 18456

Inloggningsfel med Microsoft SQL Server (MSSQL) är ett ganska vanligt problem och kan enkelt lösas med några grundläggande felsökningssteg. Innan vi gräver in, låt oss ta en titt på detaljerna i felet för att försöka fastställa orsaken.

Lösningar på Microsoft SQL Server Error 18456

Ibland visas felet som "inloggning misslyckades för användaren "", den här informationen hjälper oss när vi identifierar användaren vi behöver felsöka. Från meddelandet vet vi felnumret som en referens för att söka efter nästa steg. I det här fallet är det Microsoft SQL Server, fel:18456.

Andra gånger kan vi bara se "Microsoft SQL Server Error 18456" tillsammans med allvarlighetsgrad och tillståndsnummer. På egen hand kanske ett statnummer inte betyder mycket, men det kan ge mer information om vad som är fel och var man ska leta härnäst.

Dessa feltillstånd, 18456, är de vanligaste. Beskrivningarna och potentiella lösningar ger en snabb förklaring och potentiell felsökningsguide.

Steg 1:  Logga in med Remote Desktop

Felsökningen och lösningarna kräver att du loggar in på servern eller åtminstone kan göra en Windows-autentiseringsanslutning till MSSQL med hjälp av Microsoft SQL Server Management Studio. Den vanligaste och enklaste metoden är att ansluta direkt till servern med en Remote Desktop Connection. Om du behöver mer information om anslutning till fjärrskrivbord hjälper dessa Knowledge Base-artiklar dig att ansluta:

  • Hur man använder ett fjärrskrivbord
  • Windows:Få åtkomst till din server med fjärrskrivbord
  • Använda Remote Desktop Protocol (RDP) för att logga in på din Windows-server

Steg 2:Kör Microsoft SQL Server Management

När du väl är inloggad på servern vill du köra Microsoft SQL Server Management Studio (SSMS). SSMS är det verktyg som är bäst lämpat för att konfigurera, hantera och administrera MSSQL.

När du startar SSMS kommer du att bli ombedd att logga in på servern. Som standard har de flesta MSSQL-servrar Windows-autentisering aktiverad, vilket innebär att du måste logga in med Windows-administratören eller det konto som angavs som SQL-administratör när MSSQL installerades och konfigurerades.

Förutom Windows-autentisering stöder MSSQL SQL Server-autentisering. Beroende på versionen av MSSQL och hur den installerades och konfigurerades, kan du ha eller inte ha SQL Server-autentisering aktiverad som standard.

Steg 3:Kontrollera serverautentiseringsläget

När vi väl loggar in på SSMS med Windows-autentisering måste vi kontrollera säkerhetsinställningarna för att bekräfta om MSSQL är inställt för att tillåta både Windows- och SQL-autentisering.

I SSMS högerklickar du på Servernamnet högst upp i objektutforskaren och välj Egenskaper .

Klicka sedan på Säkerhet sida.

Om du hittar Windows-autentisering är det enda konfigurerade läget, detta är den troliga orsaken till fel 18456, inloggning misslyckades för användaren "".

Ställa in serverautentiseringsläget för att tillåta SQL Server och Windows-autentisering , kommer du att kunna logga in på MS-SQL med en SQL-användare och lösenord eller en Windows-användare och lösenord. När du har gjort denna ändring måste du starta om SQL Server-tjänsten.

Steg 4:Starta om SQL-tjänsten

I SSMS högerklickar du på Servernamnet överst i Objektutforskaren fönstret och välj Starta om för att tillämpa de nya inställningarna för autentiseringsläge.

I exemplet ovan var Windows-autentiseringsläget det enda läget som konfigurerats, och felet 18456 inträffade eftersom användaren "sa" är en SQL-användare och SQL Server-autentisering inte var tillåten.

Steg 5:Kontrollera SQL-användarbehörigheter

När vi kontrollerar SQL-användarbehörigheterna måste vi svara på följande frågor:

  • Får användaren logga in?
  • Har användaren ett giltigt lösenord inställt?
  • Har användaren nödvändiga behörigheter för åtkomst till den önskade databasen?

I SSMS Object Explorer , expandera Säkerhet, inloggningar . Hitta användaren som misslyckades med att logga in. A x på användaren indikerar att denna användare har inloggning inaktiverad.

För att tillåta användaren att logga in, högerklicka på användaren och välj Egenskaper och klicka sedan på Status sida. Aktivera inloggning för användaren och klicka på OK .

Efter att ha uppdaterat listan användarinloggningar kan vi bekräfta att användaren inte längre har ett rött x närvarande. Detta bör tillåta användaren att logga in. I det här exemplet kunde SQL-användaren 'sa' inte logga in eftersom det inte fanns någon behörighet att logga in. 

Fortsätt med användarfelsökning, högerklicka på användaren och välj Egenskaper och klicka sedan på Allmänt sida. Här kan du ange ett nytt lösenord och ange sedan bekräftelselösenordet . Klicka på OK för att spara det nya lösenordet. Vi ställer in ett nytt lösenord för användaren så att vi är säkra på lösenordet när vi försöker logga in.

Steg 6:Mappa användaren till databasen

Vårt sista steg i felsökning av en användare är att kontrollera användarmappning för att verifiera att användaren har tillgång till den önskade databasen och att ställa in eller verifiera sin roll för databasen. Högerklicka på användaren och välj Egenskaper och klicka sedan på Användarmappning sida. Välj Databas från listan över databaser. Från databasens rollmedlemskap väljer du önskade/krävda medlemskap. Klicka på OK .

I det här exemplet mappade vi användaren "ProdX709 ’ till databasen Production X709.2019 och gav dem databasrollen db_owner . I många fall behöver du bara en användare som har db_datareader och db_datawriter roller för att kunna läsa och skriva till databasen.

Slutsats

I den här felsökningsartikeln lärde vi oss hur man identifierar detaljerna för fel 18456 för att hjälpa oss att spåra grundorsaken till problemet. Letar du fortfarande efter stöd? Våra MSSQL-databaslösningar kommer med hjälp från vårt tekniska supportteam. Ta reda på hur vår databas med hög tillgänglighet kan fungera för dig!

Kom igång idag!

Vi är stolta över att vara de mest hjälpsamma människorna inom Hosting™!

Våra supportteam är fyllda med erfarna Linux-tekniker och duktiga systemadministratörer som har ingående kunskap om flera webbhotelltekniker, särskilt de som diskuteras i den här artikeln.

Om du har några frågor angående denna information, är vi alltid tillgängliga för att svara på alla frågor som rör denna artikel, 24 timmar om dygnet, 7 dagar i veckan 365 dagar om året.

Om du är en helt hanterad VPS-server, Cloud Dedicated, VMWare Private Cloud, Private Parent Server, Managed Cloud Servers eller en dedikerad serverägare och du är obekväm med att utföra något av stegen som beskrivs, vi kan nås via telefon @800.580.4985, en chatt eller supportbiljett för att hjälpa dig med denna process.


  1. SQLite-databasläcka hittades

  2. Rent sätt att använda postgresql-fönsterfunktioner i django ORM?

  3. MySQL SLÄPP UNIK BEGRÄNSNING

  4. Varför returnerar CONNECT BY LEVEL i en tabell extra rader?