2017-11-16 4 views
1

Ich habe eine UnixODBC-Verbindung von einer Linux-basierten SAP-HANA-Datenbank versucht, große Datenmengen aus einer anderen SQL Server 2012-Datenbank zu ziehen. Hin und wieder bekomme ich allerdings "Login timeout expired" -Fehler und merke auch über netstat, dass während die Verbindung den Status "ESTABLISHED" erreicht, sie nach ca. 10 Sekunden ausgeht. Das Problem tritt nicht jedes Mal auf und ich habe bereits alle Arten von Due Diligence auf der Netzwerkseite durchgeführt und dabei keine Probleme festgestellt.Wie verhindert man Port Timeouts für große Remote-Abfragen von SQL Server?

Gibt es etwas, was in der SQL Server-Konfiguration getan werden kann, so dass die Verbindung nicht Timeout?

Das aktuelle Zeitlimit für die Remoteabfrage beträgt 600 Sekunden und das Zeitlimit für die Remoteanmeldung beträgt 30 Sekunden.

Ich lese auch in den folgenden Link, dass zunehmende "Connection Timeout" -Einstellung in SQL Server hilft, aber wie ändere ich es, es ist ausgegraut.

enter image description here

+0

Was passiert, wenn Sie mit der rechten Maustaste auf den Server klicken und Timeout-Eigenschaften (sowohl Remote-Anmeldung als auch Abfrage) auf Null ändern ..? – TheGameiswar

+0

Kein Glück. Meine Hauptfrage ist jedoch, wie kann ich die Connection Timeout-Einstellung im obigen Screenshot ändern. Der Link hier sagt, dass es einen Fehler im .NET Framework Data-Bieter gibt und er kann umgangen werden, indem man die "Connection Timeout" -Einstellung im obigen Screenshot maximiert ... aber ich kann es nicht ändern ... es ist ausgegraut. :(https://support.microsoft.com/en-us/help/2879704/-timeout-expired-error-when-yu-try-to-connect-to-sql-server-2012-thro –

Antwort

0

Sie haben Recht, dass Sie das Remote-Abfrage-Timeout auf 0

This link gibt recht ordentlich Antwort auf Ihre Frage Einstellung ändern müssen, um beachten. Es gibt Möglichkeiten, dies sowohl über das SQL Server Management Studio als auch über die Befehlszeile zu tun. Sie müssen sich jedoch zuerst mit einem Benutzer anmelden, der über die erforderlichen Berechtigungen verfügt.

+0

Hallo - danke für die Verbindung - Ich habe bereits die Remote-Login-Timeout weit über jeden Grenzwert erhöht.Keine Frage ist - Wie kann ich die "Connection Timeout" aus dem obigen Screenshot ändern? –

+0

können Sie die Verbindungszeitüberschreitung ändern, auch während der Verbindung an die DB Die Verbindungszeichenfolge sollte beinhalten: 'Connection Timeout = 300;' – MozenRath

+0

Danke Mozen. Ich werde dies versuchen, obwohl unixODBC anscheinend keinen Parameter hat, den ich in die odbc.ini setzen kann, um das Verbindungstimeout in zu ändern eine ausführliche Verbindungszeichenfolge, die ich zum Beispiel in Python sehen würde. –

Verwandte Themen