Intento ejecutar SQL Server Upgrade Advisor 2014 contra un servidor SQL Server 2008.
Todo se ve bien cuando me conecto al servidor 2008 y puedo seleccionar qué base de datos me gustaría analizar.
Pero una vez iniciado, se ejecuta para siempre, sin hacer nada (permaneciendo en el paso Analizando Reglas: 0/112 ).
¿Qué está pasando y cómo puedo solucionarlo?
Tanto SQL Server 2008 como 2014 son versiones Express y están instaladas en mi computadora portátil. Desafortunadamente, esta es la única forma en que encontré ejecutar el Asesor de actualizaciones (hay demasiadas restricciones para ejecutarlo en bases de datos reales de productos / desarrolladores).
La instancia de SQL 2008 es con SP3 según sea necesario .
Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )
Cuando el Asesor está congelado, podemos ver 4 dormir consultas (no las activas):
SELECT name,
cmptlevel
FROM
(SELECT name,
dbid,
cmptlevel,
DATABASEPROPERTYEX(name, N'UserAccess') AS 'UserAccess',
DATABASEPROPERTYEX(name, N'Status') AS 'Status',
DATABASEPROPERTYEX(name, N'IsInStandBy') AS 'IsInStandBy'
FROM master.dbo.sysdatabases) t
WHERE LOWER(name) NOT IN ('tempdb',
'master',
'model',
'msdb')
AND HAS_DBACCESS(name) = 1
AND dbid NOT IN (32767)
AND UserAccess != 'SINGLE_USER'
AND Status = 'ONLINE'
AND IsInStandBy = 0
ORDER BY name;
y
(@dbname nvarchar(256))
SELECT COUNT(*)
FROM master.dbo.sysdatabases
WHERE name=@dbname
y
SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
y
SELECT N'Job.Step',
j.name + N'.' + js.step_name
FROM msdb.dbo.syssubsystems ss
JOIN msdb.dbo.sysjobsteps js ON ss.subsystem = js.subsystem
JOIN msdb.dbo.sysjobs j ON js.job_id = j.job_id
WHERE ss.description_id=14555
UNION
SELECT N'Proxy',
p.name
FROM msdb.dbo.sysproxysubsystem ps
JOIN msdb.dbo.sysproxies p ON ps.proxy_id = p.proxy_id
JOIN msdb.dbo.syssubsystems ss ON ss.subsystem_id = ps.subsystem_id
WHERE ss.description_id=14555
Por supuesto, cuando los lanzamos manualmente, funcionan.
Y no hay nada sospechoso cuando inicio un seguimiento de SQL en el servidor ...