Cố vấn nâng cấp SQLServer 2014 treo


11

Tôi cố gắng chạy SQL Server Nâng cấp Advisor 2014 với máy chủ SQL Server 2008.

Mọi thứ đều ổn khi kết nối với máy chủ 2008 và tôi có thể chọn cơ sở dữ liệu nào tôi muốn phân tích.

nhập mô tả hình ảnh ở đây

Nhưng một khi được khởi chạy, nó chạy mãi mãi, không làm gì cả (ở bước Phân tích Quy tắc: 0/112 ).

nhập mô tả hình ảnh ở đây

Chuyện gì đang xảy ra và làm thế nào tôi có thể sửa nó?

Cả SQL Server 2008 và 2014 đều là phiên bản Express và được cài đặt trên máy tính xách tay của tôi. Thật không may, đây là cách duy nhất tôi tìm thấy để chạy Trình cố vấn nâng cấp (có quá nhiều hạn chế để chạy nó trên cơ sở dữ liệu prod / dev thực sự).

Ví dụ SQL 2008 là với SP3 khi cần thiết .

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: ) 

Khi Cố vấn bị đóng băng, chúng ta có thể thấy 4 truy vấn ngủ (không có truy vấn hoạt động):

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

Tất nhiên, khi chúng tôi khởi chạy chúng bằng tay, chúng hoạt động.

Và không có gì đáng nghi khi tôi khởi chạy một dấu vết SQL trên máy chủ ...

Câu trả lời:


4

Theo như tôi biết có vấn đề với trình tư vấn nâng cấp SQL Server 2014, đôi khi nó bị treo khi phân tích khối lượng công việc để di chuyển. Những gì bạn có thể làm là tải xuống trình tư vấn nâng cấp SQL Server 2016 hiện được gọi là Trợ lý di chuyển dữ liệu V 3.1 . Theo Microsoft, trình cố vấn nâng cấp 2016 không được dùng nữa và được thay thế bằng trợ lý di chuyển dữ liệu.

Tôi không chắc lắm nhưng tôi tin rằng những người MS biết về điều này, đó là lý do tại sao họ chuyển sang trợ lý di chuyển dữ liệu công cụ tốt hơn nhiều.

Điều này không đi kèm với phương tiện cài đặt SQL Server, nó là một bản tải xuống riêng biệt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.