检查包是否存在于 MSDB 或 SSISDB 中后,如何使用 PowerShell 脚本删除 SSIS 包?
How to use PowerShell script to remove SSIS packages after checking if the package exists in MSDB or SSISDB?
我是 Powershell 的新手,我正在尝试从远程服务器中删除一些不再使用的 SSIS 包。有些在 SSISDB 中,有些在 MSDB 中。我正在尝试创建一个 PowerShell 脚本来检查包所在的位置 (MSDB/SSISDB) 并将其删除。另外,我需要 运行 我的 SQL 查询使用 PS 删除与该包相关的对象。任何人都可以解释如何使用示例 PowerShell 脚本完成这项工作吗?
MSDB
取决于您要如何删除包。您要调用外部进程 (dtutil.exe) 还是要 build/issue SQL 查询?
命令行
dtutil.exe 是用于与 MSDB 交互的命令行实用程序,自 2005 版以来一直可用。
样本删除看起来像
dtutil.exe /SQL PackageToBeDeleted /DELETE
存储过程
sp_dts_deletepackage (2005) /sp_ssis_deletepackage (2008+) 将包名称和文件夹 guid 作为参数。
-- Delete a package in the root folder
EXECUTE msdb.dbo.sys_ssis_deletepackage 'MyPackage', '00000000-0000-0000-0000-000000000000';
关于如何将元数据的 dts 命名版本线程化以构建删除的较旧问题
Is it possible to delete an SSIS package from the MSDB database in SQL Server 2005 without DCOM rights?
删除
您也可以直接从 table 中删除。
-- SQL Server 2005
DELETE P FROM dbo.sysdtspackages90 AS P WHERE P.name = 'mypackage';
-- SQL Server 2008+
DELETE P FROM dbo.sysssispackages AS P WHERE P.name = 'mypackage';
SSISDB
您不能从 SSISDB 中删除 SSIS 包。 SSISDB 中不存在包,文件夹包含 Projects 恰好有包(以及元数据和项目参数以及可选的项目连接管理器)。这都是一个可部署的单元,存储到磁盘时具有 .ispac 扩展名。
删除项目是通过存储过程delete_project
EXECUTE SSISDB.catalog.delete_project
@folder_name = 'MyFolder'
, @project_name = 'MyProject';
我是 Powershell 的新手,我正在尝试从远程服务器中删除一些不再使用的 SSIS 包。有些在 SSISDB 中,有些在 MSDB 中。我正在尝试创建一个 PowerShell 脚本来检查包所在的位置 (MSDB/SSISDB) 并将其删除。另外,我需要 运行 我的 SQL 查询使用 PS 删除与该包相关的对象。任何人都可以解释如何使用示例 PowerShell 脚本完成这项工作吗?
MSDB
取决于您要如何删除包。您要调用外部进程 (dtutil.exe) 还是要 build/issue SQL 查询?
命令行
dtutil.exe 是用于与 MSDB 交互的命令行实用程序,自 2005 版以来一直可用。
样本删除看起来像
dtutil.exe /SQL PackageToBeDeleted /DELETE
存储过程
sp_dts_deletepackage (2005) /sp_ssis_deletepackage (2008+) 将包名称和文件夹 guid 作为参数。
-- Delete a package in the root folder
EXECUTE msdb.dbo.sys_ssis_deletepackage 'MyPackage', '00000000-0000-0000-0000-000000000000';
关于如何将元数据的 dts 命名版本线程化以构建删除的较旧问题
Is it possible to delete an SSIS package from the MSDB database in SQL Server 2005 without DCOM rights?
删除
您也可以直接从 table 中删除。
-- SQL Server 2005
DELETE P FROM dbo.sysdtspackages90 AS P WHERE P.name = 'mypackage';
-- SQL Server 2008+
DELETE P FROM dbo.sysssispackages AS P WHERE P.name = 'mypackage';
SSISDB
您不能从 SSISDB 中删除 SSIS 包。 SSISDB 中不存在包,文件夹包含 Projects 恰好有包(以及元数据和项目参数以及可选的项目连接管理器)。这都是一个可部署的单元,存储到磁盘时具有 .ispac 扩展名。
删除项目是通过存储过程delete_project
EXECUTE SSISDB.catalog.delete_project
@folder_name = 'MyFolder'
, @project_name = 'MyProject';