J'essaie d'exécuter SQL Server Upgrade Advisor 2014 sur un serveur SQL Server 2008.
Tout va bien lors de la connexion au serveur 2008 et je peux sélectionner la base de données que je souhaite analyser.
Mais une fois lancé, il fonctionne pour toujours, sans rien faire (en restant à l'étape Analyser les règles: 0/112 ).
Que se passe-t-il et comment puis-je résoudre ce problème?
SQL Server 2008 et 2014 sont des versions Express et sont installées sur mon ordinateur portable. Malheureusement, c'est le seul moyen que j'ai trouvé pour exécuter le Conseiller de mise à niveau (il y a trop de restrictions pour l'exécuter sur de vraies bases de données prod / dev).
L'instance SQL 2008 est avec SP3 selon les besoins .
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: )
Lorsque le conseiller est gelé, nous pouvons voir 4 dormir requêtes (pas de ceux actifs):
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;
et
(@dbname nvarchar(256))
SELECT COUNT(*)
FROM master.dbo.sysdatabases
WHERE name=@dbname
et
SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
et
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
Bien sûr, lorsque nous les lançons manuellement, ils fonctionnent.
Et il n'y a rien de suspect quand je lance une trace SQL sur le serveur ...