System.Data.SqlClient.SqlException (0x80131904): A netzwerkbezogen oder beim Herstellen einer Verbindung zu
SQL Server ist ein instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass
der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass er Remoteverbindungen zulässt. (Anbieter: Named P ipes Provider, Fehler:
40 – Verbindung zu SQL Server konnte nicht geöffnet werden) ---> Syste
m.ComponentModel.Win32Exception (0x80004005): Zugriff verweigert um
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdent
ity-Identität, SqlConnectionString ConnectionOptions, SqlCredential
Anmeldeinformationen, ObjektproviderInfo, String newPassword, SecureString
newSecurePassword, Boolean weitergeleitetUserInstance, SqlConnectionString
userConnectionOptions, SessionData r econnectSessionData,
DbConnectionPool-Pool, String accessToken, Boolean applyTra
nsientFaultHandling, SqlAuthenticationProviderManager
sqlAuthProviderManager) bei
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOp
tionsoptionen, DbConnectionPoolKey poolKey, Object
poolGroupProviderInfo, DbConnectionPool pool, DbConnection
owningConnection, DbConnectionOptions userOptions)
at
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConn
ectionPool pool, DbConnection owningObject, DbConnectionOptions
Optionen, DbConnectionPoolKey poolKey, DbConnectionOptions
userOptions) unter
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection
besitzendes Objekt, DbConnectionOptions userOptions, DbConnectionInternal
oldConnection) bei
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection
o wningObject , DbConnectionOptions userOptions, DbConnectionInternal
oldConnection ) at
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection
ow ningObject, UInt32 waitForMultipleObjectsTimeout, Boolean
allowCreate, Boolean o nlyOneCheckConnection, DbConnectionOptions
userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection
ownObject, TaskCompletionSource
Code: Select all
1 retry, DbConnectionOptions
userOptions, DbCon nectionInternal& connection) at
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection
owningConnection, TaskCompletionSource
userOptions , DbConnectionInternal oldConnection,
DbConnectionInternal& Verbindung) bei
System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(Db
Verbindung äußereVerbindung, DbConnectionFactory VerbindungFactory,
TaskCompletio nSource
Code: Select all
1 retry, DbConnectionOptions userOptions) at
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection
outerConnection, DbConnectionFactory connectionFactory,
TaskCompletionSource
System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource
Code: Select all
1
re try) at
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource
Wiederholung) bei System.Data.SqlClient.SqlConnection.Open() bei
YetAnotherSmallConsoleApp.Program.Main(String[] args) in
C:\Repository\Pro
jects\YetAnotherSmallConsoleApp\YetAnotherSmallConsoleApp\Program.cs:line
28 ClientConnectionId:00000000-0000-0000-0000-000000000000
Hier ist mein Programm:
Code: Select all
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.IO;
namespace YetAnotherSmallConsoleApp
{
class Program
{
static void Main(string[] args)
{
SqlConnection con = new SqlConnection("Server = IP_ADDRESS; User Id = USER_NAME; Password = PASSWORD;");
string[] arrExcludeLines = File.ReadAllLines(FILEPATH_TO_QUERY);
string strExcludeQuery = default(string);
foreach (string line in arrExcludeLines)
{
strExcludeQuery = strExcludeQuery + line + Environment.NewLine;
}
try
{
using (con)
{
con.Open();
SqlCommand cmdExclude = new SqlCommand(strExcludeQuery, con);
SqlDataReader dr1 = cmdExclude.ExecuteReader();
while (dr1.HasRows)
{
while (dr1.Read())
{
Console.WriteLine(dr1[0].ToString());
Console.ReadLine();
}
dr1.NextResult();
}
}
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
Console.ReadLine();
}
}
}
}
- Sowohl Server A als auch Server B befinden sich im selben Netzwerk, und dieses Netzwerk ist nicht
Im selben Netzwerk befindet sich meine MS SQL Server 2016-Datenbank. - Auf Server A ist eine Instanz von MS SQL Server 2012 installiert, auf Server B ist
kein MS SQL Server installiert darauf. - Auch wenn mein Das Programm läuft ordnungsgemäß auf Server A. Ich kann die IP-Adresse
des MS SQL Server 2016-Datenbankservers weder von Server A noch von Server B aus anpingen. - Auf dem Server sind keine Firewalls vorhanden A oder Server B.
- Auf Server A und Server B wird MS Server 2012 R2 ausgeführt.
BEARBEITEN: Wenn ich versuche, von Server B aus eine Verbindung zur MS SQL Server 2016-Datenbank herzustellen, verwende ich dieselben Anmeldeinformationen, die ich für die Verbindung zur Datenbank von Server A verwende Bei Verwendung von SSMS erhalte ich die folgende Fehlermeldung:

BEARBEITEN: Noch etwas: Ich habe versucht, das Programm mit dem Computernamen für den MS SQL Server 2016-Datenbankserver in der Verbindungszeichenfolge sowie der tatsächlichen IP-Adresse für den Datenbankserver in der Verbindungszeichenfolge auszuführen , beide Möglichkeiten führen dazu, dass das Programm erfolgreich auf Server A ausgeführt werden kann, ich jedoch den Fehler auf Server B erhalte.