Ich versuche, SQL Server Upgrade Advisor 2014 für einen SQL Server 2008-Server auszuführen.
Beim Herstellen einer Verbindung zum 2008-Server sieht alles gut aus und ich kann auswählen, welche Datenbank ich analysieren möchte.
Einmal gestartet, läuft es für immer, ohne etwas zu tun (bleiben Sie bei Schritt Analysieren von Regeln: 0/112 ).
Was passiert und wie kann ich das beheben?
Sowohl SQL Server 2008 als auch 2014 sind Express-Versionen und auf meinem Laptop installiert. Leider ist dies die einzige Möglichkeit, den Upgrade Advisor auszuführen (es gibt zu viele Einschränkungen, um ihn in echten Produkt- / Entwicklungsdatenbanken auszuführen).
Die SQL 2008-Instanz ist nach Bedarf mit SP3 ausgestattet .
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: )
Wenn der Advisor eingefroren ist, werden 4 Schlafanfragen angezeigt (keine aktiven):
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;
und
(@dbname nvarchar(256))
SELECT COUNT(*)
FROM master.dbo.sysdatabases
WHERE name=@dbname
und
SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
und
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
Wenn wir sie manuell starten, funktionieren sie natürlich.
Und es gibt nichts Verdächtiges, wenn ich einen SQL-Trace auf dem Server starte ...