2009-12-17 38 views

Trả lời

14

Courtesy của một nguồn tin giấu tên, chúng tôi có một ứng dụng để hạ cấp một gói SSIS từ phiên bản 2008 đến 2005.

Trong khi nó hoạt động với các thành phần thông thường bất kỳ thành phần mới không được hỗ trợ với ngoại lệ của Lookup.

Các thành phần của bên thứ ba cũng không được hỗ trợ.

Nó đã trải qua thử nghiệm rất hạn chế và không phải là tùy chọn được hỗ trợ từ MS. Không nên sử dụng nó cho các gói sản xuất.

Đây là một công cụ hữu ích giúp bạn thoát khỏi tình huống dính.

http://ssisdowngrade.codeplex.com

+0

Điều này làm tôi say mê. Ngoại lệ duy nhất là mã của tôi là C# và SQL2005 chỉ hỗ trợ VB.NET, nó chỉ là mã tầm thường nên tôi viết lại và tôi đã đi. –

+0

nó làm việc tốt cho tôi mặc dù tôi đã phải thực hiện một vài thay đổi trong xml bằng tay chẳng hạn như thay đổi nhà cung cấp từ 'SQLNCLI10.1' thành' SQLNCLI.1'. Tôi đã sử dụng http://converter.telerik.com/ để chuyển đổi mã C# thành vb.net hoạt động tốt. – mezoid

0

Thật không may, tôi không nghĩ điều này là có thể. Tôi biết một thực tế rằng nếu bạn có bất kỳ nhiệm vụ kịch bản và/hoặc các thành phần trong gói của bạn, các DLL sẽ không tương thích khi hạ cấp xuống SSIS 2005 kể từ năm 2008 sử dụng .NET 3.5 Framework và 2005 sử dụng Khung 2.0.

+0

vậy, nhiệm vụ mới của tôi sẽ định cấu hình lại toàn bộ gói trên máy chủ SQL 2005? –

+0

Tôi khá chắc chắn đó là lựa chọn duy nhất của bạn. – rfonn

3

Có thể có các thành phần và thuộc tính có sẵn vào năm 2008 không có sẵn vào năm 2005. Đây là điều làm cho việc chuyển đổi trở nên khó khăn.

Tuy nhiên, nếu gói của bạn đơn giản và khá chuẩn thì những điều sau đây có thể hữu ích. Nó làm việc cho một gói rỗng. Tôi đã tạo ra nó vào năm 2008 và sau đó đã cố gắng mở nó vào năm 2005. Tôi có lỗi (dĩ nhiên). Vì vậy, tôi sau đó sao chép phiên bản 2008 và mở nó trong một trình soạn thảo văn bản đơn giản.

tôi sau đó tự chỉnh sửa file

1. Thay đổi sau

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2"> 

để

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1"> 

2. Thay đổi như sau

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property> 

để

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property> 

3. Tháo sau:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property> 

4. Thay đổi như sau:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property> 

để

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property> 

Điều này làm việc cho một gói sản phẩm nào, nhưng tôi không thể đảm bảo cho bất kỳ gói nào khác. Hy vọng điều này sẽ giúp

2

Ngoài những gì James bạn cần tìm và thay thế tất cả các phiên bản của Phiên bản = 10.0.0.0 với Phiên bản = 9.0.242.0 cho các tác vụ sql, SSIS.PipeLine.2 với DTS.Pipeline.1 cho các tác vụ dataflow, componentClassID = "{2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} với componentClassID =" {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} cho các nhiệm vụ nguồn OLE DB, componentClassID = "{5A0B62E8-D91D-49F5-94A5 -7BE58DE508F0} "với componentClassID =" {E2568105-9550-4F71-A638-B7FE42E66922} "cho điểm đến OLE DB, componentClassID =" {BD06A22E-BC69-4AF7-A69B-C44C2EF684BB} "với componentClassID =" {C3BF62C8-7C5C-4F85 -83C3-E0B6F6BE267C} "cho các nhiệm vụ chuyển đổi dữ liệu và componentClassID =" {70909A92-ECE9-486D-B17E-30EDE908849E} "với componentClassID =" {7C0CACA3-B152-40B1-8379-E37AE8E1DD5A} "để thực hiện nhiệm vụ chậm thay đổi.Tôi không quản lý để có được công việc tra cứu để làm việc

Hy vọng điều này giúp ai đó, ít nhất đó là một tài liệu tham khảo đối với tôi trong thời gian tiếp theo :-)

2

Ngoài Asgeir:

Các ClassID chính xác cho Các nguồn OLE DB trong phiên bản 2008 là {BCEFE59B-6819-47F7-A125-63753B33ABB7}. Điều này đã được đổi thành {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} sẽ được sử dụng vào năm 2005.

Đối với nhiệm vụ tra cứu thay đổi {27648839-180F-45E6-838D-AFF53DF682D2} vào {0FB4AABB-C027-4440- 809A-1198049BF117}. Hơn nữa, bạn phải thay đổi thuật ngữ 'version = "5"' thành 'version = "4"' trong dòng bên dưới ClassID.

Để thay đổi tác vụ phân chia có điều kiện {3AE878C6-0D6C-4F48-8128-40E00E9C1B7D} thành {53A228EE-EBFA-48D6-A1AC-5269E5824A2C}.

Những thay đổi này ngoài những thay đổi đã đăng nên thực hiện thủ thuật cho hầu hết người dùng hoặc ít nhất là có thể xây dựng lại gói trong phiên bản 2005 với ít nỗ lực hơn.

1

Bạn cũng sẽ muốn thay thế như sau:

  • SSIS.Pipeline.2 với DTS.Pipeline.1
  • OLE DB Command: {8E61C8F6-C91D-43B6-97EB-3423C06571CC} với {C60ACAD1-9BE8-46B3-87DA-70E59EADEA46}

Mặc dù vậy, bạn sẽ phải mở nó trong BIDS 2005 và lưu lại. Bạn có thể cài đặt BIDS 2005 đứng một mình bằng cách vào thư mục SQL Server 2005 CD tools \ setup và chạy sqlRun_Tools.msi. Nếu lỗi đó xảy ra, bạn có thể tăng cấp độ (công cụ dir) và chạy thiết lập sau đó chọn chỉ BIDS.

Các vấn đề liên quan