我正在开发一个DWH应用程序。我被授予访问权限的服务器只安装了没有数据库引擎的SSIS。我收到的错误如下:
对象'sp_ssis_listfolders',数据库'msdb',架构'dbo'上的EXECUTE权限被拒绝。
我需要验证数据库引擎和msdb上的权限。有没有办法找到哪个服务器配置为托管msdb数据库?
答案 0 :(得分:7)
发现它!
它隐藏在SSIS安装文件夹的配置文件中。浏览到C:\Program Files\Microsoft SQL Server\120\DTS\Binn
,然后查找名为MsDtsSrvr.ini.xml
的文件。服务器名称就在那里,可以根据需要进行更改。
答案 1 :(得分:3)
阅读完评论后,您必须转到Windows预定任务并阅读运行Dtexec utility
该命令如下所示:
C:\..\dtexec /SQL "\Package1" /SERVER "Test\Test" /USER "blabla" /PASSWORD "blabla"
/SERVER
关键字后面的字符串是包所在的服务器名称
如果包不在SQL服务器中并且从包文件执行,则命令将如下所示:
C:\..\dtexec /F "C:\Packages\Package1.dtsx"
然后转到包打开它并从中读取连接字符串。
在这些文章中阅读有关DtExec实用程序的更多信息:
有关异常抛出的信息
在SQL Server中,与Execute Package
中的连接关联的用户帐户需要在msdb数据库中被授予db_ssisoperator
角色,否则无法找到正在调用的其他包
也可能需要将自己添加到以下角色中:
db_ddladmin
db_ssisadmin
您可以在以下链接中找到其他建议: