Question

J’essaie d’exécuter un fichier de script volumineux (près de 300 Mo, et éventuellement plus volumineux à l’avenir). Cela a été suggéré dans les commentaires de la réponse de Gulzar à ma question à ce sujet qui Je devrais changer le délai d'attente du script en 0 (pas de délai d'attente).

Quel est le meilleur moyen de définir ce délai d'expiration à partir du script? Pour le moment, tout cela se trouve en haut du fichier de script, dans l’espoir que l’un d’eux fasse quelque chose:

sp_configure 'remote login timeout', 600
go
sp_configure 'remote query timeout', 0
go
sp_configure 'query wait', 0
go
reconfigure with override
go

Cependant, je reçois toujours le même résultat et je ne peux pas dire si je réussis à définir le délai d'attente car la réponse de sqlcmd.exe est le message d'erreur le moins utile au monde:

  

Sqlcmd: Error: Erreur de script.

Merci.

Était-ce utile?

La solution

sqlcmd -t {n}

Où {n} doit être un nombre compris entre 0 et 65535.

Notez que votre question est un peu trompeuse puisque le serveur a pas de concept de délai d'attente et par conséquent, vous ne pouvez pas définir le délai d'attente dans votre script.

Dans votre contexte, le délai d’expiration est appliqué par sqlcmd .

Autres conseils

Votre solution - Ajoutez GO toutes les 100 ou 150 lignes

http://www.red-gate.com/MessageBoard/ viewtopic.php? t = 8109

Je pense qu'il n'existe pas de concept de délai d'attente dans un script SQL sur SQL Server. Vous devez définir le délai dans la couche / le client appelant.

Selon cet article MSDN vous pourrait essayer d'augmenter le délai d'attente de cette façon:

exec sp_configure 'remote query timeout', 0 
go 
reconfigure with override 
go 

"Utilisez l'option de délai de requête à distance pour spécifier la durée, en secondes, d'une opération à distance peut prendre avant l'expiration du délai d'expiration de Microsoft SQL Server. La valeur par défaut est 600, ce qui permet une attente de 10 minutes. Cette valeur s'applique à une connexion sortante initiée par le moteur de base de données en tant que requête distante. Cette valeur n'a aucun effet sur les requêtes reçues par le moteur de base de données. "

P.S .: Par 300 Mo, vous voulez dire que le fichier résultant est de 300 Mo? Je n'espère pas que le fichier de script lui-même est de 300 Mo. Ce serait un record du monde. ; -)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top