Eu tento executar o SQL Server Upgrade Advisor 2014 em um servidor SQL Server 2008.
Tudo parece bem ao conectar ao servidor 2008 e posso selecionar qual banco de dados gostaria de analisar.
Mas uma vez lançado, ele roda para sempre, sem fazer nada (mantendo-se na etapa Analisando Regras: 0/112 ).
O que está acontecendo e como posso corrigir isso?
Tanto o SQL Server 2008 quanto o 2014 são versões Express e estão instalados no meu laptop. Infelizmente, esta é a única maneira que encontrei para executar o Upgrade Advisor (há muitas restrições para executá-lo em bancos de dados reais de produção / desenvolvimento).
A instância do SQL 2008 está com SP3 conforme necessário .
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: )
Quando o Advisor está congelado, podemos ver 4 consultas adormecidas (não ativas):
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;
e
(@dbname nvarchar(256))
SELECT COUNT(*)
FROM master.dbo.sysdatabases
WHERE name=@dbname
e
SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
e
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
Claro, quando os iniciamos manualmente, eles funcionam.
E não há nada suspeito quando lanço um rastreamento SQL no servidor...
Tanto quanto sei, há um problema com o consultor de atualização do SQL Server 2014, às vezes ele trava ao analisar a carga de trabalho para migração. O que você pode fazer é baixar o consultor de atualização do SQL Server 2016, que agora é chamado de Data Migration Assistant V 3.1 . De acordo com a Microsoft, o consultor de atualização 2016 foi preterido e substituído pelo assistente de migração de dados.
Não tenho certeza, mas acredito que o pessoal da MS sabia disso e é por isso que eles mudaram para um assistente de migração de dados de ferramenta muito melhor.
Isso não vem embutido com a mídia de instalação do SQL Server, é um download separado.