it-swarm.com.de

SQL-Ausnahme: Am anderen Ende der Leitung befindet sich kein Prozess

Ich kann nicht von c # -Code auf meine SQL Server-Verbindung zugreifen. Ich erhalte diesen Fehler:

SQL-Ausnahme: Am anderen Ende der Leitung befindet sich kein Prozess

das ist die Verbindungszeichenfolge in meiner app.config:

<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=BELLA\SQLEXPRESS;Initial Catalog=TLP;User Id=Pascal;Password=test;Pooling=False"/>

Wenn ich die Windows-Authentifizierung verwende: Integrated Security = True;

Dann kann ich mich mit der Datenbank verbinden.

ABER ich kann die Windows-Authentifizierung NICHT verwenden, da das Öffnen der SQL-Verbindung über einen Windows-Dienst erfolgt, der als LocalSystem ausgeführt wird. Wenn ich das tue, bekomme ich diese Fehlermeldung:

Anmeldung fehlgeschlagen. Anmeldung für Benutzer "NT AUTHORITY\SYSTEM" fehlgeschlagen

Es ist das erste Mal, dass ich ein Login + Benutzer im SQL Management Studio erstellt. Ich bin fast sicher, dass ich etwas falsch gemacht habe und es ist meine Schuld.

Das habe ich gemacht:

1) Erstellen Sie ein neues Login im Sicherheitsordner des Servers mit SQL-Authentifizierungsbenutzer: Pascal und Kennwort: test.

2) Ging zu meiner Datenbank und erstellt einen neuen Benutzer im Sicherheitsordner mit dem Benutzer: Pascal und login: Pascal und Schema: dbo

3) Habe ich etwas vergessen?

Lösungen von anderen Leuten:

1) Ich habe diesen Link auch ausprobiert, aber kein Glück, meine SQL-Auswahl in der suspect_pages-Tabelle ist leer.

Fehler: Es ist kein Prozess am anderen Ende der Pipe

2) Die Netzwerkkonfiguration meines SQL-Servers ist auf dem TCP/IP, den Namen Pipes und den Shared Memory-Einstellungen aktiviert.

3) SQL Server 2008 kann sich nicht mit neu erstelltem Benutzer anmelden

Nummer 1 bis 3 hat überhaupt nicht geholfen.

All dies geschieht auf meinem lokalen Rechner. Kein Netzwerk ist hier.

10
Pascal

Haben Sie Shared-Memory- und TCP/IP-Anbieter in der SQL-Konfiguration aktiviert? 

Wenn dies nicht der Fall ist, öffnen Sie das Dienstprogramm SQL Server Configuration Manager und aktivieren Sie Shared Memory und TCP/IP. Die Reihenfolge, die für mich funktioniert, ist Shared Memory (1) und TCP/IP (2) für Server und Client.

Stellen Sie außerdem sicher, dass Sie sowohl ein SQL LOGIN als auch ein DATABASE USER für Pascal mit den richtigen Rechten erstellen. 

Schauen Sie sich meinen Blogartikel zum Erstellen von Logins an. http://craftydba.com/?p=656

Mit dem folgenden Snippet wird Ihr Login/Benutzer mit der korrekten Standarddatenbank, dem Standardschema und den Lese-/Schreibrechten neu erstellt.

-- Which database to use.
USE [TLP]
GO

-- Delete existing user.
IF  EXISTS (SELECT * FROM sys.database_principals WHERE name = N'Pascal')
DROP USER [Pascal]
GO

-- Which database to use.
USE [master]
GO


-- Delete existing login.
IF  EXISTS (SELECT * FROM sys.server_principals WHERE name = N'Pascal')
DROP LOGIN [Pascal]
GO

-- Add new login.
CREATE LOGIN [Pascal] WITH PASSWORD=N'test', DEFAULT_DATABASE=[TLP]
GO

-- Which database to use.
USE [TLP]
GO

-- Add new user.
CREATE USER [Pascal] FOR LOGIN [Pascal] WITH DEFAULT_SCHEMA=[dbo]
GO

-- Add to database read / write roles
EXEC sp_addrolemember 'db_datareader', 'Pascal'
EXEC sp_addrolemember 'db_datawriter', 'Pascal'
GO

-- Add to database owner role?  
-- Only give out if application needs a high level of privileges.
-- EXEC sp_addrolemember 'db_owner', 'Pascal'
-- GO

Protokolle auf Serverebene.

enter image description here

Protokolle auf Clientebene.

enter image description here

Ich wähle niemals NETBIOS, da es sich um ein nicht routbares Protokoll handelt.

Wenn Sie immer noch Probleme haben, veröffentlichen Sie bitte einen Screenshot und weitere Details.

7
CRAFTY DBA

Wahrscheinlich ein ungewöhnliches Szenario, aber ich habe gerade diese Ausnahme erhalten und sie im ungültigen Datenbanknamen im Anfangskatalogwert der Verbindungszeichenfolge nachverfolgt.

0