【发布时间】:2009-01-19 18:44:11
【问题描述】:
我在 SQL Server 2005 的维护计划下保存了一个 SSIS 包。虽然我可以选择 SSIS 包,但我不确定如何删除它们。
【问题讨论】:
标签: sql-server sql-server-2005 ssis
我在 SQL Server 2005 的维护计划下保存了一个 SSIS 包。虽然我可以选择 SSIS 包,但我不确定如何删除它们。
【问题讨论】:
标签: sql-server sql-server-2005 ssis
听起来您正试图从数据库引擎 --> 管理 --> 维护计划中删除包。尝试连接到“集成服务”而不是数据库引擎,然后在 Running Packages 或 Stored Packages 下查找要删除的包。
从那里您应该能够右键单击并删除。
【讨论】:
如果您正在寻找从 SQL Server 中删除包的脚本方法,您可以执行以下操作:
以下代码将从名为“MYSQLSERVER01”的服务器中删除部署为“\Maintenance Plans\DatabaseBackup-Full-All”的包
DTUTIL /SQL "\Maintenance Plans\DatabaseBackup-Full-All" /DELETE /SourceServer MYSQLSERVER01 >> rollback.log
以下代码会将位于文件系统当前目录中名为“DatabaseBackup-Full-All.dtsx”的包部署到名为“MYSQLSERVER01”的服务器上,名为“\Maintenance Plans\DatabaseBackup-Full-All”
DTUTIL /FILE "DatabaseBackup-Full-All.dtsx" /COPY SQL;"\Maintenance Plans\DatabaseBackup-Full-All" /QUIET /DestServer MYSQLSERVER01 >> release.log
这些代码示例从命令行运行。 我还包含了 >> release.log 和 >> rollback.log,以便您可以将执行日志保存到文件中。
不要忘记 cd 到任何包含您的 Package File 的目录以按原样运行脚本,或者更新上面的代码以获得您的包的完整(本地或 unc)文件路径。
【讨论】:
根据您使用的 SQL Server 版本,有一个包含包的系统表。在我的 2005 版本中,该表称为 msdb.dbo.sysdtspackages90。您还可以查找诸如 msdb.dbo.sysdtspackages 或 msdb.dbo.sysssispackages 之类的表。要删除一个包,只需从该表中删除它即可。
【讨论】:
John DaCosta 的解决方案对我有用。我编写了以下查询来输出删除命令并将结果粘贴到命令 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
【讨论】: