2009-02-04 3 views
9

Ich habe ein einfaches SQL-Skript, das ich manuell aus Visual Studio ausführe. Es ist ein Datengenerierungsskript, also erwarte ich, dass es ein paar Minuten dauert. Aber ich bekomme den folgenden Fehler.Wie kann ich das Zeitlimit für eine manuell ausgeführte Abfrage in SQL Server ändern?

Timeout abgelaufen. Der Timeout-Zeitraum ist vor dem Abschluss des Vorgangs abgelaufen oder der Server antwortet nicht .

Ich möchte keine globalen Servereinstellungen ändern, um diese eine Datei ausführen zu können. Gibt es irgendwelche Befehle, die ich an den Anfang der Datei setzen könnte, um das Timeout nur für dieses Skript/diese Transaktion zu erhöhen?

+0

Ist das Skript Teil eines DB-Projekts? –

+0

Das Skript gehört nicht zum DB-Projekt. – tpower

Antwort

0

Egal, ich kann es gut mit SQL Management Studio ausführen.

1

Der SQL Server wartet unbegrenzt, bevor er zum Benutzer zurückkehrt. Mehr als wahrscheinlich gab es eine clientseitige Timeout-Eigenschaft. Zum Beispiel können Sie eine timeout property for the ADO command object einstellen.

Prost, Andy.

12

Wenn Sie SQL Management Studio verwenden, gibt es zwei Einstellungen in den Optionen (Ich beziehe mich auf Management Studio von SQL Server 2005, die ich verwende):
(mein Management Studio ist in deutscher Sprache, so dass ich hoffe, ich übersetzte die Namen korrekt in Englisch)

Sie können sowohl im Menü unter „Extras“ finden -> „Optionen“

in den Optionen, die erste ist unter „Query Execution“, können Sie setze dort das "Execution Timeout" (mein war schon auf Null)

Die zweite (und ich denke, das ist was Sie brauchen) ist die erste Option unter "Designer", es sagt etwas wie "Timeout für Tabellen Designer Updates außer Kraft setzen", Sie können ein Kästchen markieren und dort einen Wert eingeben.
Vor einiger Zeit hatte ich ein ähnliches Problem wie Ihres (Timeout-Meldung beim Ausführen von ALTER TABLE in einer großen Tabelle), und ich habe es gelöst, indem ich diese Option auf einen höheren Wert gesetzt habe. für mich nicht funktioniert hat (durch Ändern der Einstellungen in SQL Management Studio)

+3

+1 Gute Informationen und einfach zu folgen Ich hatte nur das gleiche Problem und das hat es gelöst. Gute Übersetzung auch, nur eine Sache in der englischen Version ist es "Extras" -> "Optionen". – 182764125216

+0

Das hat bei mir nicht funktioniert. Ich habe meine eigene Antwort gegeben. –

4

die Command Eigenschaft erhöhen, wird das Problem heißt

SqlCommandObject.CommandTimeout = 500000

1

@christian Antwort löst.

Biswa Antwort funktionierte für mich. Ich werde Code zur Verdeutlichung einfügen

4

Erhöhen Sie die Abfrage Timeout und Connection Timeout Werte in Visual Studio mit den unten dokumentierten Verfahren. Ändern der Abfrage-Timeout:

In Visual Studio IDE, zu Tools navigieren -> Optionen -> Datenbank-Tools -> Abfrage- und Ansicht-Designer Sie können entweder deaktivieren Sie die Option Abfrage mit langer Laufzeit abbrechen oder ändern Sie den Wert nach der Option Abbrechen von zu einem höheren Wert. Ändern des Connection Timeout:

In Visual Studio IDE, aktivieren Sie Server-Explorer anzeigen, indem Sie die Navigation -> Server Explorer im Server-Explorer mit der rechten klicken Sie auf die Verbindung zu SQL Server, wo die CLR-Objekte werden zum Einsatz kommen und wählen Sie Ändern Verbindung. Klicken Sie im Fenster Verbindung ändern auf Erweitert. Ändern Sie im Fenster "Erweiterte Eigenschaften" den Wert für "Verbindungstimeout" unter "Initialisierung" auf einen höheren Wert.

http://support.microsoft.com/kb/2011805

0

Ich wollte nur bestimmte Schritte für Microsoft SQL Server Management Studio 2005 ... ‚Designer‘ Standardwerte müssen auch angepasst werden auf jeden Fall klären, ob es auf ‚0‘ in ‚Abfrageausführung‘ Abschnitt eingestellt ist, wie Designer-Variablen überschreiben die Einstellungen für die Abfrageausführung.

  1. Öffnen Sie Microsoft SQL Server Management Studio 2005
  2. Tools >> Optionen
  3. erweitern 'Designers'
  4. Ich habe Einstellung gefunden 'Transaktions Time-out nach dem' 120 für Updates fein gearbeitet hat Tabellen mit mehreren Millionen Datensätzen.