2016-08-14 2 views
0

ändern lerne ich ASP.NET zu verwenden, und ich kam in das folgende Problem: Ich konnte nicht meine Datenbank zugreifen mit SqlConnection() weil ich einen Fehler bekamkann nicht SQL Server-Benutzer

Datenbank kann nicht geöffnet „Sample“ angefordert von der Anmeldung. Die Anmeldung ist fehlgeschlagen. Fehler bei der Anmeldung für den Benutzer 'Asus \ Anne

Code:

SqlConnection con = new SqlConnection("data source=(localdb)\\MSSQLLocalDB; Database=Sample;Integrated Security=True"); 

ich in sie sah und fand heraus, dass vielleicht das Problem war, dass der Benutzer keine Berechtigung, auf die Datenbank zuzugreifen hat.

Ich habe überprüft und ich habe in der Tat keinen Benutzer namens 'Asus \ Anne' unter den Benutzern meiner Datenbank, aber ich habe einen 'dbo' Benutzer (dbowner), der den 'Asus \ Anne' Login hat.

Also, ich habe versucht, dbo Benutzernamen zu 'Asus \ Anne' zu ändern, aber es lässt mich nicht.

Ich habe auch versucht, einen neuen Benutzer in die Datenbank namens 'Asus \ Anne' mit einem 'Asus \ Anne' Login hinzuzufügen, aber ich habe eine Fehlermeldung, dass die Anmeldung bereits vergeben ist (was Sinn macht).

Ich fühle mich wie ich stecken bleibe. Irgendein Vorschlag?

Vielen Dank im Voraus!

+0

Ok, also nach stundenlangem Ändern und Erstellen von Benutzern funktionierte nichts. Ich war in der Lage, 'dbo' Login zu ändern und einen 'Asus \ Anne' Benutzer mit einem 'Asus \ Anne' Login zu erstellen, und ich konnte auch einen Benutzer zur Authentifizierung mit SQL Server erstellen.Allerdings hatte ich immer noch das gleiche Problem, bis ich beschloss, meine Datenbank über SSMS statt VS zu erstellen, und das hat den Trick gemacht. Ich weiß immer noch nicht warum, aber jetzt kann ich mit Windows und SQL authentifizieren. Außerdem habe ich gelesen, dass der Neustart des Servers wichtig war, aber meine "Neustart" -Option ist immer ausgegraut. – Acla

Antwort

1

Sie versuchen, mit dem Benutzer "Asus \ Anne" eine Verbindung zu Ihrem SQL Server herzustellen - das ist das Konto, unter dem Ihre ASP.NET App läuft.

Dieses Konto darf keine Verbindung mit SQL Server herstellen - erstellen Sie entweder eine Anmeldung bei SQL Server für dieses Konto oder geben Sie ein anderes gültiges SQL Server-Konto in der Verbindungszeichenfolge an.

Sie können diese SO link folgen. Das würde dir helfen.

1

Wenn Sie den Windows-Authentifizierungsmodus verwenden möchten, muss Ihr Computer der von SQL Server verwendeten Domäne (oder einer vertrauenswürdigen Domäne) angehören, und Sie sollten die AD-Anmeldung verwenden, die Berechtigungen für den SQL Server erteilt hat.

Überprüfen Sie auch die Firewalleinstellungen für SQL Server-Ports, geben Sie eine Portnummer an, wenn nicht standardmäßig, überprüfen Sie, ob SQL Server Remoteverbindungen zulässt, aktivieren Sie aktivierte Protokolle in SQL Configuration Manager.

Es scheint, als ob Ihre DB auf Ihrem lokalen Rechner ist - versuchen Sie, die SQL-Authentifizierung zu verwenden und ändern Sie Ihre Verbindungszeichenfolge SQL-Authentifizierung verwenden - entfernen Sie "Integrated Security = True" und sql Login-Namen und Passwort hinzufügen.

1

Sie müssen sich mit der sysadmin-Rolle in der Datenbank anmelden, um Benutzerrollen anderer Benutzer usw. zu ändern. In diesem Szenario hat 'Asus \ Anne' wahrscheinlich keine so hohe Rolle, andere Rollen zu ändern (ich gehe davon aus, dass Sie angemeldet sind) in SQL mit Windows-Authentifizierung).

In beiden Fällen können Sie eine neue Benutzerrolle mit SQL-Authentifizierung erstellen und sie mit den erforderlichen Benutzerrollen versehen. Sie müssen "Integrated Security = true" entfernen und stattdessen Login und Passwort hinzufügen.