SSIS连接出错

  

原因 :

   ssms 工具 不是 admin 权限 打开的 

SSIS包批量导出代码

use msdb
go IF OBJECT_ID('msdb.dbo.usp_ExportSSISPkgs') IS NOT NULL
DROP PROCEDURE dbo.usp_ExportSSISPkgs;
go CREATE PROCEDURE dbo.usp_ExportSSISPkgs
@exportPath NVARCHAR(2000)='D:\pag'
AS
BEGIN DECLARE @pkgData XML, @pkgName NVARCHAR(1000),@pkgFolder NVARCHAR(4000), @cmd NVARCHAR(MAX) ;
PRINT '--Info: Create temp tables.';
IF (OBJECT_ID('tempdb.dbo.tbl_SSISPkgXML') IS NOT NULL)
BEGIN
PRINT '--Info: Drop existing temp table tempdb.dbo.tbl_SSISPkgXML.';
DROP TABLE tempdb.dbo.tbl_SSISPkgXML;
END
CREATE TABLE tempdb.dbo.tbl_SSISPkgXML(ID INT IDENTITY(1,1), PkgName NVARCHAR(1000) NULL, PkgFolder NVARCHAR(MAX) NULL,
PkgID VARCHAR(40) NULL,PkgData XML NULL);
PRINT '--Info: Insert Package data into tempdb.dbo.tbl_SSISPkgXML.';
IF (SELECT CHARINDEX('SQL Server 2005', @@VERSION))>0
--2005 version
BEGIN
--Use recursive CTE to get FULL path for SSIS packages on msdb
SET @cmd='WITH tbl_ssispkgfolder (FullPath, folderid)
AS
(SELECT CONVERT(NVARCHAR(MAX),''\root''),folderid FROM msdb.dbo.sysdtspackagefolders90
WHERE parentfolderid IS NULL
UNION ALL
SELECT CONVERT(NVARCHAR(MAX),t.FullPath+''\''+s.foldername),s.folderid
FROM msdb.dbo.sysdtspackagefolders90 s
JOIN tbl_ssispkgfolder t ON s.parentfolderid=t.folderid)
INSERT INTO tempdb.dbo.tbl_SSISPkgXML (PkgName,PkgID,PkgFolder,PkgData)
SELECT p.name, p.id, f.FullPath, CAST(CAST(packagedata AS varbinary(MAX)) AS XML)
FROM msdb.dbo.sysdtspackages90 p JOIN tbl_ssispkgfolder f ON p.folderid=f.folderid;';
EXEC(@cmd);
END
ELSE
--2008 or later version
BEGIN
SET @cmd='WITH tbl_ssispkgfolder (FullPath, folderid)
AS
(SELECT CONVERT(NVARCHAR(MAX),''\root''),folderid FROM msdb.dbo.sysssispackagefolders
WHERE parentfolderid IS NULL
UNION ALL
SELECT CONVERT(NVARCHAR(MAX),t.FullPath+''\''+s.foldername),s.folderid
FROM msdb.dbo.sysssispackagefolders s
JOIN tbl_ssispkgfolder t ON s.parentfolderid=t.folderid)
INSERT INTO tempdb.dbo.tbl_SSISPkgXML (PkgName,PkgID,PkgFolder,PkgData)
SELECT p.name, p.id, f.FullPath, CAST(CAST(packagedata AS varbinary(MAX)) AS XML)
FROM msdb.dbo.sysssispackages p JOIN tbl_ssispkgfolder f ON p.folderid=f.folderid
WHERE ISNULL(p.description,'''''''') NOT LIKE ''System Data Collector Package''
;';
EXEC(@cmd);
END PRINT '--Info: Enable xp_cmdshell to allow access File System from SQL Engine';
EXEC sp_configure 'show advanced options',1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'xp_cmdshell',1;
RECONFIGURE WITH OVERRIDE; PRINT '--Info: Start exporting...'
DECLARE cur_DtsxFile CURSOR FOR SELECT PkgName,PkgData, PkgFolder FROM tempdb.dbo.tbl_SSISPkgXML;
OPEN cur_DtsxFile;
FETCH NEXT FROM cur_DtsxFile INTO @pkgName, @pkgData, @pkgFolder;
WHILE (@@FETCH_STATUS=0)
BEGIN
PRINT '--Info: Create Package folder under '+@exportPath+ '';
SET @cmd= N'EXEC xp_cmdshell N''mkdir "' + @exportPath +@pkgFolder+ '\"''';
EXEC(@cmd);
SET @cmd=N'bcp "SELECT PkgData FROM tempdb.dbo.tbl_SSISPkgXML '
+ 'WHERE PkgName= '''''+@pkgName+''''' AND PkgFolder= '''''+@pkgFolder+'''''" queryout "'
+ @exportPath+ @pkgFolder+ '\'+@pkgName+'.dtsx" -T -w -S"'+@@SERVERNAME+'"' ;
SET @cmd = N'EXEC xp_cmdshell N'''+@cmd +'''' ;
PRINT '--Info: Export package '+QUOTENAME(@pkgName)+' to ' + @exportPath +@pkgFolder+'';
EXEC(@cmd);
FETCH NEXT FROM cur_DtsxFile INTO @pkgName,@pkgData,@pkgFolder;
END
CLOSE cur_DtsxFile;
DEALLOCATE cur_DtsxFile; END

最新文章

  1. Sql触发器模板
  2. 1秒30000QPS,前后端设计思路
  3. poj 2975 Nim 博弈论
  4. Hdu 1042 N! (高精度数)
  5. Lintcode--003(乱序字符串)
  6. Vlc基础数据结构记录
  7. 定义你自己ViewGroup
  8. 怎么理解Condition(转)
  9. [UWP小白日记-7]转换MVA学院的XML字幕为SRT (二)
  10. 201521123077 《Java程序设计》第9周学习总结
  11. GT-随身调详细教程
  12. 深入java----垃圾回收
  13. P1824 进击的奶牛(二分)
  14. python全栈开发 * 22 面向对象 知识点汇总 * 180703
  15. UVa 1426 Discrete Square Roots (扩展欧几里德)
  16. 【19】Linux系统知识点
  17. 晚期(运行期)优化---HotSpot虚拟机内的即时编译器
  18. 【liunx】sftp常用命令
  19. dubbo初学,快速体验
  20. pyhont备份php代码脚本

热门文章

  1. 【转载】Dijkstra算法和Floyd算法的正确性证明
  2. 【luoguP1797】 克鲁斯的加减法_NOI导刊2010提高(05)
  3. DPC究竟是什么
  4. 关于kafka定期清理日志后再消费报错kafka.common.OffsetOutOfRangeException的解决
  5. mitmproxy修改二级代理
  6. Mybatis-Plus BaseMapper自动生成SQL及MapperProxy
  7. MySort(选做)
  8. 关于Math.random()
  9. js实现回到顶部功能
  10. PyTorch中使用深度学习(CNN和LSTM)的自动图像标题