Sql-Server
SQLServer 升級顧問 2014 掛起
我嘗試針對 SQL Server 2008 伺服器執行 SQL Server Upgrade Advisor 2014。
連接到 2008 伺服器時一切正常,我可以選擇要分析的數據庫。
但是一旦啟動,它就會永遠執行,不做任何事情(停留在步驟Analyzing Rules: 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: )
當 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;
和
(@dbname nvarchar(256)) SELECT COUNT(*) FROM master.dbo.sysdatabases WHERE name=@dbname
和
SELECT 'Edition'=SUBSTRING(@@VERSION,PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2,PATINDEX(N'% on %',@@VERSION)-(PATINDEX(N'%Corporation%',@@VERSION)+DATALENGTH('Corporation')+2))
和
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
當然,當我們手動啟動它們時,它們會起作用。
當我在伺服器上啟動 SQL 跟踪時,沒有什麼可疑的……
據我所知,SQL Server 2014 升級顧問存在問題,在分析遷移工作負載時它有時會掛起。您可以下載 SQL Server 2016 升級顧問,現在稱為Data Migration Assistant V 3.1。根據 Microsoft 的說法,升級顧問 2016 已被棄用,取而代之的是數據遷移助手。
我不太確定,但我相信 MS 人員知道這一點,這就是他們轉向更好的工具數據遷移助手的原因。
這不是 SQL Server 安裝媒體的內置版本,它是單獨的下載。