it-swarm.com.de

Wie kann ich von einem anderen Computer, der mit derselben Arbeitsgruppe verbunden ist, auf eine SQL Server-Datenbank zugreifen?

Ich habe eine C # -Anwendung erstellt, die eine SQL Server-Datenbank verwendet. Ich habe andere Computer in einer Arbeitsgruppe mit mir und untereinander verbunden. Ich habe meine C # -Anwendung mit anderen geteilt. Wenn sie die Anwendung öffnen, erhalten sie den Fehler

Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht zugänglich

Aber die Anwendung funktioniert gut auf meinem PC. Die Verbindungszeichenfolge, die ich verwende, ist

Data Source=ASHISHPC1\SQLEXPRESS;Initial Catalog=ACW;User ID=ash159;Password=ashish159

welches in einer .config Datei gespeichert ist.

Die Anwendung funktioniert gut auf meinem PC. Was muss ich tun? Ich habe TCP/IP auf dem Server aktiviert, aber der gleiche Fehler bleibt bestehen. Einige Änderungen in der Verbindungszeichenfolge oder etwas anderes?

11
ash

Es gibt zwei Sicherheitsstufen, die geändert werden müssen, um den Remotezugriff zu ermöglichen.

  1. SQL Server-Konfiguration . In den Editionen Express, Developer und Enteprise Evaluation ist die Verbindung über das TCP/IP-Protokoll standardmäßig deaktiviert. Aktivieren Sie dies mit SQL Server Configuration Manager.

  2. Windows-Firewall . Während das vollständige Deaktivieren der Firewall für diese Komponente funktioniert ist, ist dies keine bewährte Sicherheitsmethode (und auch nicht erforderlich). (Hinweis: In diesem Abschnitt gehe ich von einer Standardkonfiguration aus. Es können viele Einstellungen geändert werden, die sich geringfügig auf diese Schritte auswirken.)

    Abhängig vom Typ der SQL Server-Instanz, zu der Sie eine Verbindung herstellen, gibt es zwei Fälle:

    1. Standardinstanz (Verbindung nur über den Computernamen). Fügen Sie eine Zulassungsregel für eingehende Nachrichten entweder am TCP Port 1433 oder am Datenbankmoduldienst hinzu.

    2. Benannte Instanz (Verbindung über Computernamen + Instanznamen). Fügen Sie am UDP-Port 1434 eine Zulassungsregel für eingehenden Zugriff auf den SQL Browser-Dienst hinzu. Fügen Sie dem Datenbankmodul-Dienst eine Regel zum Zulassen eingehender Nachrichten hinzu.

Dieser Vorgang ist vollständig dokumentiert hier , oder Sie können mir beim Erklären zuschauen und dann die Konfiguration für eine benannte Instanz durchgehen hier .

17
Jon Seigel

Sie müssen die richtigen Netzwerkeinstellungen in Ihrem SQL-Server einstellen: Active TCP/IP in SQL-Server Stellen Sie außerdem sicher, dass Ihr Server-Browser-Dienst ausgeführt wird, denn wenn er gestoppt wird, werden Sie kann nicht auf den SQL-Server zugreifen.

0
BendEg

Stellen Sie sicher, dass der SQLBrowser-Dienst wie von Bendeg erwähnt aktiviert ist und dass UDP 1434 auf Ihrem Computer geöffnet ist, damit Clients den SQLBrowser-Server aufrufen können, um den Namen aufzulösen. Öffnen Sie auch den TCP/IP-Port der benannten Instanz.

Um den Port Ihrer Instanz zu finden, stellen Sie eine Verbindung mit dem Präfix tcp: in Management Studio wie folgt her: tcp: ASHISHPC1\SQLEXPRESS. Das Ergebnis der folgenden Abfrage sollte der Port sein, den Sie für die Clients in Ihrer Arbeitsgruppe bereitstellen müssen.

SELECT local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID
0
Robert Gannon