2009-01-19 21 views

Trả lời

8

Có vẻ như bạn đang cố xóa gói khỏi Database Engine -> Management -> Maintenance Plans. Thử kết nối với "Integration Services" thay vì công cụ Database và tìm gói bạn muốn xóa trong gói Running Packages hoặc Stored Packages.

Từ đó bạn sẽ có thể nhấp chuột phải và xóa.

4

Tùy thuộc vào phiên bản SQL Server bạn đang sử dụng, có bảng hệ thống chứa các gói. Trong phiên bản 2005 của tôi, bảng được gọi là msdb.dbo.sysdtspackages90. Bạn cũng có thể tìm các bảng như msdb.dbo.sysdtspackages hoặc msdb.dbo.sysssispackages. Để xóa một gói, bạn chỉ cần xóa nó khỏi bảng này.

4

Nếu bạn đang tìm kiếm một phương pháp kịch bản để loại bỏ các gói từ SQL Server bạn có thể làm như sau:

Đoạn mã dưới đây sẽ xóa một gói triển khai như "\ Maintenance kế hoạch \ DatabaseBackup-Full-All" từ một máy chủ có tên là "MYSQLSERVER01"

DTUTIL /SQL "\Maintenance Plans\DatabaseBackup-Full-All" /DELETE /SourceServer MYSQLSERVER01 >> rollback.log 

Đoạn mã dưới đây sẽ triển khai một gói nằm trong thư mục hiện hành về hệ thống tập tin có tên là "DatabaseBackup-Full-All.dtsx" đến một máy chủ có tên là "MYSQLSERVER01" là "Kế hoạch \ Maintenance \ DatabaseBackup-Full-All "

DTUTIL /FILE "DatabaseBackup-Full-All.dtsx" /COPY SQL;"\Maintenance Plans\DatabaseBackup-Full-All" /QUIET /DestServer MYSQLSERVER01 >> release.log 

Các mẫu mã này được chạy từ dòng lệnh. Tôi cũng đã bao gồm >> release.log và >> rollback.log để bạn có thể lưu nhật ký thực thi vào một tệp.

Đừng quên cd vào bất kỳ thư mục nào có tệp gói để chạy tập lệnh, hoặc cập nhật mã ở trên để có đường dẫn tệp hoàn chỉnh (cục bộ hoặc unc) của gói của bạn.

+0

Sử dụng DTUTIL từ dòng lệnh cũng làm việc cho một thiết lập hơi khác với SQL Server c.12 và không thể kết nối dịch vụ tích hợp từ bên trong SQL Server Management Studio. –

+0

+1 Tôi đã có hơn 200 gói để xóa và đây là lệnh tôi cần. Thêm tập lệnh tôi đã sử dụng để tạo lệnh được đề xuất của bạn. –

+0

Cảm ơn bạn rất nhiều, đây chính xác là những gì tôi cần vì tôi không thể kết nối với "Dịch vụ tích hợp". – Sander

0

Giải pháp của John DaCosta làm việc cho tôi. Tôi đã viết các truy vấn sau đây để đầu ra các lệnh xóa và dán kết quả vào một cửa sổ lệnh shell:

SELECT CONCAT('DTUTIL /SQL "\', f.foldername, '\', name, '" /DELETE /SourceServer MyServerName') 
FROM msdb.dbo.sysssispackages s 
JOIN msdb.dbo.sysssispackagefolders f 
    on s.folderid = f.folderid 
WHERE ownersid <> 0x01 
Các vấn đề liên quan