Probleem Verbinding maken met sql-server Aanmelden mislukt. “De login is van een niet-vertrouwd domein en kan niet worden gebruikt met Windows-authenticatie”

Ik probeer een SQL-serverdatabase te hosten, maar telkens als ik er verbinding mee probeer te maken, krijg ik deze foutmelding:

De login is van een niet-vertrouwd domein en kan niet worden gebruikt met Windows
authenticatie

Ik maak verbinding via Matlab met het volgende commando:

conn = database('Clinical_Data','DoyleLab07\Acc','','com.microsoft.sqlserver.jdbc.SQLServerDriver','jdbc:sqlserver://DOYLELAB07\SQLEXPRESS:54287;database=Clinical_Data;integratedSecurity=true;').

Verbinding maken met de database met behulp van matlab werkte prima zolang ik matlab gebruikte op de computer die ik gebruikte om de server te hosten. Wanneer ik echter een andere computer en hetzelfde Matlab-commando gebruik, krijg ik de fout die ik hierboven heb laten zien.

Als ik kijk onder Configuratiescherm\systeem. Ik merk dat er geen domein wordt vermeld op mijn host-pc of de pc die ik gebruik om verbinding te maken met de host, maar beide computers bevinden zich in dezelfde werkgroep. Zou ik mijn probleem kunnen oplossen door een domein aan te maken en de buitenlandse pc en de host aan dat domein toe te voegen? Zo ja, hoe kan dit worden bereikt?

Alle suggesties worden zeer op prijs gesteld.
Bedankt voor het lezen van mijn bericht.


Antwoord 1, autoriteit 100%

Het verwijderen van Integrated Security=truewerkte voor mij.


Antwoord 2, autoriteit 85%

Om Windows-verificatie te kunnen gebruiken, moet een van de twee dingen waar zijn:

  1. U voert het uit vanaf dezelfde machine als de databaseserver.
  2. U hebt een Active Directory-omgeving en de gebruiker waaronder de toepassing wordt uitgevoerd (meestal de ingelogde gebruiker) heeft rechten om verbinding te maken met die database.

Als geen van beide waar is, moet je een van de twee dingen doen:

  1. Breng een Windows-domeincontroller in, sluit alle relevante machines aan op die controller en bevestig vervolgens SQL Server om domeinrekeningen te gebruiken; Of,
  2. Wijzig SQL Server om zowel Windows- als SQL Server-accounts te gebruiken.

Veruit de eenvoudigste manier is om SQL Server te wijzigen om zowel Windows- als SQL Server-accounts te gebruiken. Dan moet u gewoon een SQL Server-gebruiker maken op de DB-server en uw verbindingsstring wijzigen om dat te doen.

Beste case-optie 1 zal een volledige dag van installatie en configuratie maken. Optie 2 zou ongeveer 5 minuten moeten duren.


Antwoord 3, Autoriteit 55%

Als uw SQL Server op één domeincontroller staat en u probeert verbinding mee te maken vanaf een andere domeincontroller, krijgt u deze foutmelding wanneer

IntegratedSecurity = true;

Dit gebeurt zelfs als u een geldige SQL Server-gebruikersnaam en -wachtwoord opneemt in uw verbindingsstring, omdat ze automatisch worden geschreven met uw Windows-login en wachtwoord. Geïntegreerde beveiligingsmiddelen betekent eenvoudig – gebruik uw Windows-inloggegevens voor inloggen verificatie op SQL Server. Dus, als u bent ingelogd op een andere domeincontroller, zal het mislukken. In het geval dat u op twee verschillende domeincontrollers bent, heeft u geen andere keuze dan

IntegratedSecurity = false;

Nu, wanneer geïntegreerde beveiliging is valse SQL Server, gebruikt SQL Server-login en wachtwoord die in uw verbindingsstring wordt verstrekt. Voor dit aan het werk moet de SQL Server-instantie zijn authenticatiemodus hebben die is geconfigureerd met de gemengde modus, de SQL Server- en Windows-authenticatiemodus.

Om deze instelling in SQL Server te controleren of te wijzigen, kunt u de SQL Server Management Studio openen en met de rechtermuisknop op uw servernaam klikken en vervolgens Eigenschappen selecteren. Selecteer in de pop-up die verschijnt Beveiliging en u zult zien waar u deze instelling kunt wijzigen als dat nodig is.


Antwoord 4, autoriteit 25%

Ik heb hetzelfde probleem gehad bij het gebruik van DNS-aliassen en hosts-bestanden om verbinding te maken met een machine met een andere domeinnaam.

Stel dat je een SQL-server hebt met de naam sql1op mydomain.com– wat een Active Directory-domein is – en je hebt ook een DNS-zone voor mijndomein.net, en – voor consistentie – stel je een DNS alias (CNAME) record in voor database.mydomain.net --> sql1.mydomain.com

U kunt verbinding maken met sql1.mydomain.commet behulp van geïntegreerde Windows-beveiliging, maar u kunt geen verbinding maken met database.mydomain.netook al is het dezelfde serveromdat de domeinnaam niet overeenkomt met uw AD-domein.


Antwoord 5, autoriteit 15%

Dit foutbericht kan ook optreden als het account dat u gebruikt om toegang te krijgen tot de SQL-server, is vergrendeld door het domein.


Antwoord 6, autoriteit 10%

Waarom geen SQL Server-account gebruiken en zowel de gebruikersnaam als het wachtwoord doorgeven?

Dit is de reden waarom.

Kortom, het lijkt erop dat u een authenticatieprobleem heeft.

Het probleem met werkgroepen is dat er geen algemene toegangscontrolelijst is zoals Active Directory (AD). Als u ODBC of JDBC gebruikt, worden de verkeerde inloggegevens doorgegeven.

Zelfs als u een lokaal Windows-account (LWA) maakt op de computer (SE) waarop SQL Express is geïnstalleerd (SE\LWA), zijn de referenties die worden doorgegeven vanaf uw clientcomputer (CM) CM\LWA.


Antwoord 7, autoriteit 10%

Als u Windows-verificatie gebruikt, zorg er dan voor dat het wachtwoord van de gebruiker niet is verlopen. Een verlopen wachtwoord kan deze fout verklaren. Dit was in mijn geval het probleem.


Antwoord 8, autoriteit 8%

Zoals vermeld hier, misschien moet u de loopback uitschakelen

Loopback-controle kan worden verwijderd door als volgt een registervermelding toe te voegen:

  • Bewerk het register met regedit. (Start –> Uitvoeren > Regedit )
  • Navigeer naar: HKLM\System\CurrentControlSet\Control\LSA
  • Voeg een DWORD-waarde toe met de naam “DisableLoopbackCheck” Stel deze waarde in op 1

Antwoord 9, autoriteit 8%

Ik ondervond het probleem toen ik verbinding maakte met SQL Always On Listener. Het uitschakelen van de terugloopcontrole loste het probleem op.

  1. Bewerk het register met regedit. (Start –> Uitvoeren > Regedit )

  2. Navigeer naar: HKLM\System\CurrentControlSet\Control\LSA

  3. Voeg een DWORD-waarde toe met de naam “DisableLoopbackCheck”

  4. Stel deze waarde in op 1

https://blog.sqlauthority.com/2017/04/18/sql-server-login-failed-login-untrusted-domain-cannot-used-windows-authentication/


Antwoord 10, autoriteit 5%

Het volgende werkte voor mij om toegang te krijgen van een andere machine tot SQL Server met behulp van Windows-verificatie. Deze benadering kan alleen nuttig zijn in een ontwikkel-/testomgeving. bijv. je moet het wachtwoord handmatig bijwerken zodra je het op je werkende machine hebt gewijzigd.

op de machine met SQL Server Ga naar Configuratiescherm en voeg nieuwe Windows-gebruiker toe met dezelfde gebruikersnaam en wachtwoord zoals op uw werkmachine. Maak vervolgens SQL Server-login voor deze gebruiker:

CREATE LOGIN [SQLSERVERHOST\myuser] FROM WINDOWS;

Nu kunt u deze login gebruiken voor Windows-verificatie.

Als u een fout ontvangt ‘De aanmelding is van een niet-vertrouwd domein’, kan dit betekenen dat u het wachtwoord op uw werkmachine hebt gewijzigd en nu wachtwoord op SQL Server-machine wilt bijwerken.


Antwoord 11, Autoriteit 2%

In mijn geval waren de aliassen binnen SQL Native Client 11.0-configuratie wijzen op ongeldige server / IP. Eenmaal bijgewerkt werkte het correct.

Controleren:
1. Start “SQL Server Configuration Manager”
2. Navigeer naar “SQL Native Client 11.0-configuratie” en vervolgens “Aliassen”
3. Zorg voor “Alias ​​Name” en “Server” -wedstrijd correct voor TCP / IP


Antwoord 12, Autoriteit 2%

Voeg gewoon mijn suggestie toe voor een resolutie, ik had een kopie van een VM-server voor het ontwikkelen en testen, ik heb de database op gemaakt daarover met ‘SA’ die eigendom is van de DB.

Ik heb vervolgens de database gerestaureerd op de live VM-server, maar ik kreeg dezelfde foutmelding, hoewel de gegevens nog steeds correct terugkeerde. Ik heb de ‘SA’ -toewijzingen opgezocht en kon zien dat het niet in kaart was gekoppeld aan de database toen ik probeerde de toewijzing toe te passen Ik heb een andere fout “Fix: kan de speciale principal ‘SA’ niet gebruiken. Microsoft SQL Server, fout: 15405 “. Dus ik liep dit in plaats daarvan

Vergunning wijzigen op database :: DBNAME NAAR SA

Ik heb de toewijzingen van de gebruiker opnieuw gecontroleerd en het is nu toegewezen aan mijn DB en het heeft veel toegangsproblemen voor mij opgelost.


Antwoord 13

Hieronder werkte voor mij. Ik hoop dat dit je helpt

<add name="getconn" connectionString="Data Source=servername;Initial Catalog=DBName;Persist Security Info=True;User ID=sa;Password=***" />

Antwoord 14

We gebruiken nu een bevoorrechte oplossing voor accountbeheer die onze wachtwoorden regelmatig verandert. Ik kreeg deze foutmelding nadat mijn wachtwoord was gewijzigd. Het sluiten en opnieuw openen van SSMS met het nieuwe wachtwoord loste mijn probleem op.


Antwoord 15

Ik kreeg deze foutmelding toen ik probeerde in te loggen op SSMS met ‘windows-authenticatie’. Dit begon te gebeuren nadat ik de Windows SQL-server had hernoemd. Ik heb alles geprobeerd om deze fout op te lossen en in mijn specifieke geval heeft het veranderen van de machinenamen in het ‘hosts’-bestand om de naam weer te geven de naam van de SQL-server gewijzigd om het probleem op te lossen. C:\Windows\System32\Drivers\etc\hosts


Antwoord 16

Ik had dit probleem omdat we een DNS-naam van een oude server gebruikten en naar een nieuwe server gingen. Het gebruik van het adres newserver\inst1 werkte. zowel newserver\inst1 als oldserver\inst1 wezen naar hetzelfde IP-adres.


Antwoord 17

Nog iets om te controleren:

Onze nachtelijke QA-hersteltaak werkte plotseling niet meer nadat een andere ontwikkelaar zich op afstand op de QA-server had aangesloten en probeerde de hersteltaak midden op de dag te starten, die vervolgens mislukte met het bericht “niet-vertrouwd domein”. Op de een of andere manier wees de server erop dat het onderhoudsplan van de taak (gewijzigd?) het ip-adres gebruikte in plaats van de naam van de lokale machine. Na vervanging door de machinenaam was het probleem opgelost.


Antwoord 18

In .net Core kunt u deze fout ook krijgen als Trusted_Connection=True;
Staat ingesteld. Voorbeeldinstelling in appsettings.jason

ConnectionStrings": {
"DefaultConnection": "Server=serverName; Database=DbName; uid=userId; pwd=password; MultipleActiveResultSets=true"

},


Antwoord 19

TLDR: Het wijzigen van de DNS-server naar het loopback-adres werkte voor mij.

Ik werk in VirtualBox en had twee Windows Server 2016-instanties ingesteld. Server A is geconfigureerd als een domeincontroller en server B als een SQL-server. Na het toevoegen van Server B aan het domein waar ik geen verbinding mee kan maken met Management Studio van Server A. Ik kreeg de melding “De aanmelding is van een niet-vertrouwd domein en kan niet worden gebruikt met Windows-verificatie”.

Bij mijn initiële configuratie kreeg de server zijn IP van de VirtualBox DHCP-server.

Ik heb dit gewijzigd om een statisch IP-adres te gebruiken en het 127.0.0.1-adres in de primaire DNS ingevoerd en dit werkte voor mij.

Ik hoop dat dit iemand helpt die langskomt.


Antwoord 20

Ik heb Trust Server-certificaat ingeschakeld in de Verbindingseigenschappen en het werkte voor mij


Antwoord 21

Door lid te worden van een WERKGROEP en vervolgens weer lid te worden van het domein is dit probleem voor mij opgelost.

Ik kreeg deze fout tijdens het gebruik van Virtual Box VM’s. Het probleem begon toen ik de VM-bestanden naar een nieuwe schijflocatie of computer verplaatste.

Ik hoop dat dit de VM-mensen helpt.


Antwoord 22

Als je twee servers op hetzelfde domein hebt (bijv. APP en DB), kun je ook Windows-verificatie gebruiken tussen de app en MSSQL door lokale gebruikers in te stellen op beide machines die overeenkomen (dezelfde gebruikersnaam en hetzelfde wachtwoord). Als de wachtwoorden niet overeenkomen, kan deze fout optreden.

Other episodes