Je me connecte à une instance de serveur SQL distant avec la chaîne de connexion suivanteAgent SQL Server requis pour les connexions à distance?
« bibliothèque réseau = DBMSSOCN; Data Source = xx.xxx.x.xxx, 1433; Initial Catalog = MaBase; ID utilisateur = myuserid; Password = MyPassword; Connect Timeout = 120; "
- Sql Server Browser est en cours d'exécution
- Connexions locales et distantes sont autorisées utilisant le protocole TCP/IP
L'application échoue au hasard pour se connecter en citant le SqlException suivant
Fournisseur TCP, erreur: 0 - Une tentative de connexion a échoué car la partie connectée n'a pas répondu correctement après un certain temps ou la connexion établie a échoué car l'hôte connecté n'a pas répondu
code pour se connecter comme suit
using (SqlConnection connection = new SqlConnection(m_ConnectionString))
{
connection.Open(); // falls over here
}
Je pensais config du pare-feu sur le port 1433, mais pourquoi le pare-feu autorisent parfois les connexions et parfois pas?
L'agent serveur Sql doit-il être en cours d'exécution? Et si oui, pourquoi la description de Sql Server Agent sur MSDN n'est pas évidente à cet égard?
Merci!
EDIT: J'ai essayé d'ajouter une règle explicite sur le pare-feu pour ouvrir 1433 et à ce jour si bon, mais pourrait être aléatoire à nouveau si difficile de dire si je fixe ou pas encore
J'ai essayé pinger en permanence, aucune défaillance, les réponses de 38 partout - 250 ms. Sql Server serait sous charge constante car il dispose également de 7 bases de données exécutant une installation Sitecore et une méta base de données image en utilisation constante –
Une autre application s'exécute localement sur la machine qui interroge la même base de données qui échoue à distance mais jamais échoue –
Est-ce que les journaux des événements ou les journaux du serveur SQL vous donnent une idée de ce qui se passe? –