SQL 2005 Failover Cluster és az el nem induló SQL Agent

Installáltam egy clustert, és a konfiguráció közben egyszer csak azt vettem észre, hogy az SQL Agent nem akar elindulni. Örömöm nem ismert határokat, elkezdtem túrni az agent logját (SQLAGENT.OUT, gyári alapbeállításként az errorloggal egy könyvtárban lakik), és megállapítottam, hogy igazából már az utolsó három restartnál nem indult el, csak én nem néztem a cluadminban, hogy mi milyen színű, és csak SSMS-t, sőt néha csak SQLCMD-t használtam (reprodukálható konfiguráció készítése volt a cél, ott meg a GUI nem játszik nagyon). Szóval megállapítottam, hogy SP3-mal még ment, SP3 CU4-gyel már nem, a kettő közt meg nemtom mikor tört el, a CU installjánál vagy később. Mindegy, emlékeztem még fiatalabb koromból, hogy olyan esetekben, amikor nem lehet a (local) szerverhez csatlakozni, valami registrykulcsba be kell tolni a szerver nevét, hogy ne így nézzen ki az SQLAGENT.OUT:

2008-01-10 20:57:15 - ! [298] SQLServer Error: 10061, TCP Provider: No connection could be made because the target machine actively refused it. [SQLSTATE 08001]
2008-01-10 20:57:15 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00]
2008-01-10 20:57:15 - ! [298] SQLServer Error: 10061, An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. [SQLSTATE 08001]
2008-01-10 20:57:15 - ! [000] Unable to connect to server '(local)'; SQLServerAgent cannot start
2008-01-10 20:57:46 - ! [298] SQLServer Error: 10061, TCP Provider: No connection could be made because the target machine actively refused it. [SQLSTATE 08001]
2008-01-10 20:57:46 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00]
2008-01-10 20:57:46 - ! [298] SQLServer Error: 10061, An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. [SQLSTATE 08001]
2008-01-10 20:57:46 - ! [382] Logon to server '(local)' failed (DisableAgentXPs)
2008-01-10 20:57:46 - ? [098] SQLServerAgent terminated (normally)

Megjegyzem, ugyanezt Named Pipes-szal is tudja, a kérdés az SQL kliens protocol order.

Szóval tényleg létezik a kulcs a HKLM/Software/Microsoft/Microsoft SQL Server/[instancename]/SQLServerAgent/ServerHost helyen, alapból üres, de be lehet állítani szépen a nevét a szervernek. Cluster esetében praktikus mindkét node-on ezt megtenni.

Leave a comment