我有一个SSIS包,我已经保存在SQL Server 2005的维护计划下。虽然我可以选择SSIS包,但我不确定如何删除它们。
答案 0 :(得分:8)
听起来您正试图从数据库引擎中删除该包 - >管理 - >维护计划。尝试连接到“Integration Services”而不是数据库引擎,并在“运行包”或“存储的包”下查找要删除的包。
从那里你应该可以右键单击并删除。
答案 1 :(得分:5)
如果您正在寻找一种脚本方法来从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进入包文件的任何目录以按原样运行脚本,或者更新上面的代码以获得包的完整(本地或非文件)文件路径。
答案 2 :(得分:4)
根据您使用的SQL Server版本,有一个包含软件包的系统表。在我的2005版本中,该表名为msdb.dbo.sysdtspackages90。您还可以查找msdb.dbo.sysdtspackages或msdb.dbo.sysssispackages等表。要删除包,只需将其从此表中删除即可。
答案 3 :(得分:0)
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