SQLServer 升级顾问 2014 挂起

iri*_*ias 11 sql-server-2008 sql-server upgrade sql-server-2014

我尝试针对 SQL Server 2008 服务器运行 SQL Server Upgrade Advisor 2014。

连接到 2008 服务器时一切正常,我可以选择要分析的数据库。

在此处输入图片说明

但是一旦启动,它就会永远运行,什么也不做(停留在分析规则:0/112步骤)。

在此处输入图片说明

发生了什么,我该如何解决?

SQL Server 2008 和 2014 都是 Express 版本并安装在我的笔记本电脑上。不幸的是,这是我发现运行升级顾问的唯一方法(在真正的生产/开发数据库上运行它有太多限制)。

SQL 2008 实例根据需要使用 SP3 。

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: ) 
Run Code Online (Sandbox Code Playgroud)

当 Advisor 被冻结时,我们可以看到 4 个休眠查询(没有活动查询):

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;
Run Code Online (Sandbox Code Playgroud)

(@dbname nvarchar(256))
SELECT COUNT(*)
FROM master.dbo.sysdatabases
WHERE name=@dbname
Run Code Online (Sandbox Code Playgroud)

SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

当然,当我们手动启动它们时,它们会起作用。

当我在服务器上启动 SQL 跟踪时,没有任何可疑之处......

Sha*_*nky 4

据我所知,SQL Server 2014 升级顾问存在问题,在分析迁移工作负载时它有时会挂起。您可以下载 SQL Server 2016 升级顾问(现在称为数据迁移助手 V 3.1)。根据 Microsoft 的说法,升级顾问 2016 已弃用,并由数据迁移助手取代。

我不太确定,但我相信微软的人们知道这一点,这就是为什么他们转向更好的工具数据迁移助手。

它不随 SQL Server 安装介质内置,而是单独下载。