Does SSIS package execution require xp_regread and xp_instance_regread execution privileges

Hi,
I'm still trying to learn what privileges are required to execute packages in the SSISDB catalogue.   Our DBA requested that we REVOKE EXECUTE ON xp_instance_regread and xp_regread FROM public because it is a high vulnerability. 
However, I noticed that once they were revoked I was getting the following error when I tried to execute any packages...
The EXECUTE permission was denied on the object 'xp_regread', database 'mssqlsystemresource', schema 'sys'...
Which leads to my question .. Are xp_regread and xp_instance_regread execution privileges required to be able to execute packages?
Everywhere I look seems to point that these priviliges are required which maybe a problem for me. 
Thanks,
Rog  

+ 1 for Katherine
Xiong answer, this seems more authentic and well documented.
Right now, I have access to production environments only , so I can't test the scenario. But I have few suggestions
IMO, even if your revoke rights sysadming or db_owner can easily access it. So, based on that I thought that you can grant rights to any specific person (may be service account) to execute this SP
USE master
GO
GRANT EXECUTE ON OBJECT::master.dbo.xp_instance_regread TOServiceAccount(or Sysadmin)
GO
You can then, probably, able to execute it if you are running SSIS/SQL environment from that login.
Disclaimer: This answer is just based on my assumption and should not be applied to production environment before testing.  I would still recommend you to consider Katherine
Xiong answer.

Similar Messages

  • .rdl file for ssis package execution reports.

    Can I get a .rdl file for the SSIS Packages execution report  which shows execution timing status and etc.. .where it stores (location) and possibility of the Stored procedure for the .rdl file

    Not sure where the SQL Server is storing the .rdl file for the above mentioned reports. But if you just want to get summary of ETL execution you can use something similar to below query and create your own report in SSRS.
    SELECT e.executable_id AS [ID] , CASE es.execution_result when 0 then 'Success' when 1 then 'Failure' when 2 then 'Completion' when 3 then 'Cancelled'  END AS [Status] , ex.folder_name AS [FolderName] , ex.project_name AS [ProjectName] , e.package_name AS [PackageName] , CONVERT(datetime, es.start_time) AS [StartTime] , CONVERT(datetime, es.end_time) AS [EndTime] , CAST(es.execution_duration AS float)/1000 AS [Duration]FROM catalog.executables e INNER JOIN catalog.executable_statistics es ON e.executable_id = es.executable_id AND e.execution_id = es.execution_id INNER JOIN catalog.executions ex ON e.execution_id = ex.execution_id  AND es.execution_id = ex.execution_idWHERE package_path = '\Package'ORDER BY StartTime DESC
    More info can be found
    here.

  • The SSIS package execution failed

    Hi all,
    Please check the screenshot and provide me how to troubleshoot this issue!
    Thanks
    DBA

    Hi dbadays,
    Based on the error message that "cannot open the datafile'', there are two causes:
    The account that SQL Agent is using does not have the correct permissions for the file or for the folder that contains the file.
    Another process or user has the file open.
    The following resolutions correspond to the previous list of causes:
    Make sure the current execute user has access to the file and the folder that contains the file. We can create a SQL Server Agent proxy account. This proxy account must use a credential that lets SQL Server Agent run the job as the account that has the
    required permissions. For more details, please see:
    http://www.mssqltips.com/sqlservertip/2163/running-a-ssis-package-from-sql-server-agent-using-a-proxy-account/
    The "another user" may be Microsoft Visual InterDev. Close any Visual InterDev projects that contain a data connection to the file. Please close all instances of excel file and re-run the package.
    Besides, we can use a tool like
    SQL Server Profiler to see what is happening when you run the package.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • SSIS package runs from BIDS and by Executing package, but failing with Job

    I have SQL Serve 2012 SSIS. I have problems to run from SQL Server Agent Job.
    Steps runs SSIS package without configuration file. Package Run64BitRuntime is False in BIDS.
    Package is runned by SQL Server Agent Service Account.
    Server does not have Office 2010/2013 installed. Should it be installed?
    ERROR1:
    Description: The requested OLE DB provider Microsoft.ACE.OLEDB.12.0 is not registered.
    If the 64-bit driver is not installed<c/> run the package in 32-bit mode.
    ERROR2: (here SSIS package is trying to import XML source, but cannot file file)
    Description: An error occurred with the following error message: "Could not find file 'D:\Integration\Metadata\'.". 
    Kenny_I

    Hi Kenny,
    It seems like you are using Excel as source file right? If yes, then please follow below steps:
    Edit the job step and Check the option: Use 32 bit run time. Below is the screenshot for the same.
    Please let me know for any questions.
    Thanks, Madhu

  • SSIS Package execution error from powershell

    Hi I have written a powershell script to exec SSIS packages. I am passing variable values at runtime by reading it from a text file.
    But it throws an error.
    Here is my script.
    #Read Data from Parameter File
    $variable=Get-Content D:\Batch\Bin\ETLParameters.txt
    $variable.GetType()
     $dest_conn_str=$variable[1]
     $mail_cc=$variable[2]
     $mail_from=$variable[3]
     $mail_str=$variable[4]
     $mail_to=$variable[5]
     $pkg_path=$variable[6]
     $ps_exe_path=$variable[7]
     $ps_script_cmd=$variable[8]
     $ps_script_path=$variable[9]
     $src_conn_str=$variable[10]
     $src_sys_id=$variable[11]
    #Executing SSIS packages from command prompt
    $cmd = 'dtexec /f "' + $pkg_path + 'pkg_ntas_all.dtsx' + '"' + ' /SET \Package.Variables[User::src_conn_str].Properties[Value];"' + $src_conn_str + '"' + ' /SET \Package.Variables[User::dest_conn_str].Properties[Value];"'
    + $dest_conn_str + '"' + ' /SET \Package.Variables[User::src_sys_id].Properties[Value];"' + $src_sys_id + '"' + ' /SET \Package.Variables[User::pkg_file_path].Properties[Value];"' + $pkg_path + '"' +
    ' /SET \Package.Variables[User::mail_str].Properties[Value];"' + $mail_str + '"' + ' /SET \Package.Variables[User::mail_from].Properties[Value];"' + $mail_from + '"' + ' /SET \Package.Variables[User::mail_to].Properties[Value];"'
    + $mail_to + '"'+ ' /SET \Package.Variables[User::mail_cc].Properties[Value];"' + $mail_cc + '"' + ' /SET \Package.Variables[User::ps_exe_path].Properties[Value];"' + $ps_exe_path + '"' + ' /SET
    \Package.Variables[User::ps_script_path].Properties[Value];"' + $ps_script_path + '"' + ' /SET \Package.Variables[User::ps_script_cmd].Properties[Value];"' + $ps_script_cmd + '"'  
    $cmd
    DECLARE @returncode int
    EXEC @returncode = xp_cmdshell @cmd
    Types of error that I get -
    If I run the $cmd directly. Which is the concatenated string of dtexec command with parameters. It doesn't do anything, not even an error and the pwoershell execution just completes.
    If I use exec EXEC @returncode = xp_cmdshell @cmd    ----- Then it throws me the error that the exec is not recognized name of cmdlet.
    Please help as I a noob in any kind of scripting.

    I did but it just printed the entire string on the command line and assigned all the values.
    PS C:\Users\dev_setup> . D:\Batch\Bin\runETL.ps1
    IsPublic IsSerial Name                                     BaseType
    True     True     Object[]                                
    System.Array
    dtexec /f "D:\ETL\test\test\test_ETL\pkg_all.dtsx" /SET "\Package.
    Variables[User::src_conn_str].Properties[Value]";"Data Source=SOURCE1;Initial Catalog=tagtest;Provider=SAOLEDB.11;Integrated Security=SSPI;
    " /SET "\Package.Variables[User::dest_conn_str].Properties[Value]";"destinationDb;User ID=FP_DEV;Password=**********;Initial Catalog=xyz;Provider=SQLOLEDB.1;Persist Security Info=True;Auto Translate=False;Packet Size=10240;" /SET " \Package.Variables[User::src_sys_id].Properties[Value]
    ";"100200" /SET "\Package.Variables[User::pkg_file_path].Properties[Value]";"D:\ETL\test\test\test_ETL\" /SET "\Package.Variables[User::mail_str].Properties[Value]";"SmtpServer=mailhost.test.com;UseWindowsAuthentication=False;EnableSsl=False;" /SET "\Package.Variables[User::mail_from].Properties[Value]
    ";"[email protected]" /SET "\Package.Variables[User::mail_to].Properties[Value]";"[email protected]" /SET "\Package.Variables[User::mail_cc].Properties[Value]";"[email protected]" /SET "\Package.Variables[User::ps_exe_path].Properties[Value]";"C:\Windows\System32\WindowsPower
    Shell\v1.0\PowerShell.exe" /SET "\Package.Variables[User::ps_script_path].Properties[Value]";"D:\ETL\Powershell_Script\" /SET "\Package.Variables[User::ps_script_cmd].Properties[Value]";"create_historical_reject_file.ps1 -input_variable"
    PS C:\Users\svc_sp_fp_dev_setup>
    But when I just run it without passing the parameters it runs. What might be the issue.

  • SSIS Package execution completes without giving any success or failure message

    Hi,
    We are using SSIS to load some 100k records from flat file to Oracle Destination. We are using Oracle 10g client.
    But during the execution after some 5hrs or 6hr with 900k records upload we are getting the message Package execution completed. In the Execution results there is no message related to success or failure and the tasks in the Data Flow where yellow in color. What might be the problem? Any information regarding this case will be helpful for us.
    Regards,
    Roopa.

    Usually you will have a red object somewhere in your package if there was a failure.  Make sure you are looking in both the Control Flow and all the Data Flows in the package for a red object.  In the execution results in the far right tab, usually you will see several warning messages somewhere in the list of steps, followed by a message that says you have exceded the number of errors for the package and that it is failing.  This is not at the bottom but where the errors actually occur in the flow of messages.
    I don't know if that helps, but that is about all I can add.  Good luck.

  • SSIS Package Execution, Windows Authentication, Error: Failed to acquire connection

    Hello,
    I have developed one SSIS Package in SSDT 2012 to create Reporting Database from SQL Datasource and 1 SharePoint List.
    On Development Environment : (Windows Authentication)
    Here everything is running fine.
    On Test Environment Client Side : (Windows Authentication)
    Deployed successfully.
    Validating successfully.
    While executing the package: getting below error.
    SSISPackage:Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error Code : 0x80040E21.
    An OLE DB record is abailable. Source: "Microsoft OLE DB Service Componenets" Hresult: 0x80040E21 Description: "Multipe-step OLD DB operation generated errors. Check each OLD DB status value, if available. No work was done.".
    Execute SQL Task: Error: Failed to acquire connection "ReportingDB". Connection may not be configured correctly or you may not have the right permissions on this connection.
    I have done below things:
    On SSIS Package side,
    1. DelayValidation is Set to True for all the connections and each tasks in package
    2. RetainSameConnection : True
    3. ProtectionLevel : DoNotSaveSensitiveData
    On SSMS,
    1. Created one Credential
    2. Create Proxy under SSIS SQL Service Agent to run package as Windows User
    3. Checked all the permissions and roles.
    Below is the connection string which I am using.
    Data Source=DBTEST;Initial Catalog=ReportingDB;Integrated Security=SSPI; persist security info=False;
    Trusted_Connection=Yes;
    Can anyone please help me? As I am trying to resolve this error for the last 4 days and could not find any solution yet.
    Thank you,
    Mittal.

    Can you try changing protection  to - EncryptSensitiveWithUserkey
    can you also enable DTC
    To enable MSDTC on each Web server on Windows Server 2008
    Click Start, click Run, type dcomcnfg and then click OK to open Component Services.
    In the console tree, expand Component Services, expand Computers, expand My Computer, and then expand Distributed Transaction Coordinator.
    Right click Local DTC, and click Properties to display the Local DTC Properties dialog box.
    Click the Security tab.
    In the Security Settings section, click Network DTC Access.
    In the Client and Administration section, select Allow Remote Clients and Allow Remote Administration.
    In the Transaction Manager Communication section, select Allow Inbound and Allow Outbound.
    In the Transaction Manager Communication section, select Mutual Authentication Required (if all remote machines are running Windows Server 2003 SP1), select Incoming Caller Authentication Required (if running MSDTC in a cluster), or select No Authentication
    Required if some of the remote machines are pre-Windows Server 2003 SP1. No Authentication Required is the recommended selection.
    Select Enable XA Transactions, and then click OK.
    Repeat steps 1 through 9 on the other Web servers.
    Please mark
    this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • Ssis packages execution fails while executing it by c#

    Hi,
    I have created one ssis package on server. Now i want to execute this package using c# code.
    I have implemented following code to perform this task:
     string pkgLocation = @"Package.dtsx";
            Package pkg;
            Application app;
            DTSExecResult pkgResults;
            Variables vars;
            app = new Application();
            pkg = app.LoadPackage(Server.MapPath(pkgLocation), null);
            vars = pkg.Variables;
           // vars["MonthInt"].Value = "02";
          //  vars["YearInt"].Value = "2014";
            pkgResults = pkg.Execute();
            foreach (DtsError pkgerror in pkg.Errors)
                string err = "Error Source: " + pkg.Name + ": " + " Description: " + pkg.Description;
                //lblErrorMsg.Visible = true;
              //  lblErrorMsg.Text = err;
            if (pkgResults == DTSExecResult.Success)
                // lblErrorMsg.Visible = true;
                // lblErrorMsg.Text = "Package ran successfully in " + count;
            else
    But all the time it gets fail.
    Its giving me following error in DTSError:
    'To run a SSIS package outside of Business Intelligence Development Studio you must install Standard Edition of Integration Services or higher.'
    Can you please guide me how can i resolve this issue.
    Is it necessary to install SSIS standard edition on all client machine.
    PLease help.
    Thanks in advance!
    Regards
    Rajni
                                               

    Hi ArthurZ,
    Thanks for the quick response.
    Actually i have created this package on server where everything is installed and i am executing this package from my local machine after coping this package in local machine.
    SO is it mandatory to installed everything on local machine to execute the package?
    can i execute package remotely?
    Please help to solve the issue.
    Thanks & Regards
    Rajni

  • SSIS package causes Step 0, and removes the rest of steps

    Hi Guys,
    I have a Maintenance Plan to make backups of our databases locally. I then need to move the databases to our NAS (too much network traffic to have it write there directly). I have 7 steps after the creation to do various weekly/monthly checks to see if the
    files need to be copied to different retention folders.
    However, the 2nd step ran (copy the local files to the network via a For Each Loop in a SSIS package), stopped with no error or log, and deleted all steps after the first.
    I recreated the steps, ran just the first to make sure it worked, and everything was ok. I started from step 2, and the same thing happened, no log.
    This time I was around to watch it, and it got stuck on Executing: 0 (unknown)  for the step. I checked out the files and things look ok.
    The issue seems to be that that either a large file (100GB) is gumming it up, or if the the file already exists at the destination (the first time the issue happened, the file did not already exist). 
    Right now it is going through and copying all the files and folders just fine, but now I am extremely nervous about the procedure and not sure how to prevent the steps from disappearing again.
    I was initially going to use command line commands to do the work, but SSIS seemed like the better solution.
    Any thoughts on this?
    -- justin

    How a ForEach loop can DELETE steps?
    Moving 100 Gb files is best done with RoboCopy IMO.
    But such limits (to store backups) do not make sense for being so small.
    Arthur My Blog

  • Running SSIS Package from another server and performance

    I've built an SSIS package that integrates data from one SQL Server 2008 database to another SQL Server 2008 database.  However, since I needed to leverage some SSIS 2012 components, I've installed the package on another SQL Server 2012 in the network.
    Is there a performance hit (positive or negative) if I run a SSIS package on a SQL Server that isn't the source or destination server?

    Hi,
    we cannot tell for sure. It depends on so many things, amount of data to be transferred, processing needs to be done, overall capacity of the server, workloads that can be handleld by the servers, etc. The mos important aspect but nt the only one is the
    amount of data to be access / tranformed / processed / transmitted to the destination.
    This is a typical case for a test done representative amount of data in a load test on your side.
    -Jens
    Jens K. Suessmeyer http://blogs.msdn.com/Jenss

  • Running a SSIS package with SQL Job and Linked Server

    I have a SSIS 2008 package. In one of the Script task I am calling a stored procedure which is  using Openquery using linked server. I deployed this package with protection level as "EncryptWithPassword" and gave a password to the package.
    Created a SQL job and edited its command line to include the password. If I login to SQL Server Mgmt Studio with Windows Authentication and run the job manually it runs fine. But when I schedule it then I get an error that "The Communication link to Linked
    server failed".
    Please help 

    Hi Vivek.B,
    The issue should occur because the SQL Server Agent Service Account or SQL Agent Proxy account under which the job step runs doesn’t have sufficient permissions on the linked server.
    If the job owner is the sysadmin fixed server role, the job can be run under the SQL Server Agent Service Account or a proxy account, then please make sure the SQL Agent Service Account or the proxy account has corresponding login on the linked server. If
    the job owner is not a sysadmin fixed server role, the job must run under a proxy account. In this case, make sure the proxy account has a corresponding login on the linked server.
    Reference:
    http://blogs.msdn.com/b/dataaccesstechnologies/archive/2009/10/13/who-owns-my-job-and-who-runs-it.aspx
    Regards,
    Mike Yin
    TechNet Community Support

  • Export multiple SSIS Packages- Script Required(SQL Server 2008R2 onwards)

    Team,
    I have the below requirement:
    Script to export multiple packages(Say 100) and take a backup on filesystem.
    Script to Import multiple packages (100) at a time in batch.
    This should be compatible with SQL Server 2005, 2008R2 and 2012. Please help me with this.
    Regards,
    Sharath

    Thanks Much Arthur, I am able to export the packages. However for Import should I use the below?
    Copy-isitemfiletosql
    -path
    "C:Program FilesMicrosoft SQL Server100DTSPackages*"
    -destination
    "msdbsqlpsx"
    -destinationServer
    "$env:computername"
    -connectionInfo
    @{SSISCONFIG=".SQLEXPRESS"}
    To import, I'd use DTUtil http://msdn.microsoft.com/en-us/library/ms162820.aspx it is just much easier to iterate over the package files off the file system.
    Arthur
    MyBlog
    Twitter

  • SSIS Package execution - SQL Server 2012

    Hi all
    I am attempting to run a deployed package manually (not via a job) through the SSMS 2012 GUI and the error dictates that my Execute Process Task cannot access on of my network drives (\\Share\Directory).
    If I run the package through SSDT, it runs fine.
    How can I get my package to see the required directory please?  It needs read/write permissions.
    Thanks.

    Hi warnerrj79,
    If I understand correctly, you directly execute a package through SSDT, it works fine. When you right-click on a package under Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
    and select Execute... to run a package in SQL Server Management Studio, it fails with the error ”Execute Process Task cannot access on the network drives (\\Share\Directory).”
    When we execute a package under Integration Services Catalog, the package will run under the credentials used to connect to SQL Server Management Studio. Please note that we need run the package using Windows Authentication.
    As to your issue, please make sure the account connects to SQL Server Management Studio has required permissions to access the shared folder.
    If there are any other questions, please feel free to ask.
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • Urgent: Does dbms_java package is required  to load jar file into database?

    Hi, It's a urgent request. I am trying to install jar file that was created by JDeveloper into database using loadjava. But it is giving so many errors.
    Do we need to install dbms_java package in order to load jar files into the database? Thanks.

    Thanks for your reply Kamal.
    I am trying to load these jar files into Oracle 9.2.0.3.20 database.
    Could you please give me the list of the steps to enable java within the database? Thanks.

  • SQL Server Agent running SSIS package fails Unable to determine if the owner of job has server access

    I have a web application developed through VS 2012 which has a button on a form that when operated starts a SQL Server agent job on the server that runs an SSIS package.  The website and the instance of SQL Server with the agent and SSIS package are
    on the same windows 2008 r2 server.  When the button is operated no exceptions are raised but the SSIS package did not execute.
    When I look in the logfileviewer at the job history of the sql server agent job I see that the job failed with message...
    The job failed.  Unable to determine if the owner (DOMAINNAME\userid) of job runWebDevSmall has server access (reason: Could not obtain information about Windows NT group/user 'DOMAINNAME\userid'<c/> error code 0x6e. [SQLSTATE 42000] (Error 15404)).,00:00:00,0,0,,,,0
    ...even though DOMAINNAME\userid is in the logins for the sql server and has admin authorities.
    Could someone show me what I need to do to get this to run?  Thanks tonnes in advance for any help, Roscoe

    This can happen when the network is too slow to allow a timely completion of the verification. Or the account running has no such right.
    I suggest you try using the SA account for the job as it does not require to poll the AD.
    Arthur My Blog

Maybe you are looking for

  • Sync iPhone 4 with new Mac installation

    I've just replaced the hard drive in my MacBook Pro with a fresh new OS 10.6.8 installation.  The old drive is still accessible via a USB external case. I did not use Migration Assistant, as I didn't want to inherit any mess from the old system, and

  • More multicam weirdness - CC

    Okay... I have an unusual multicam with an even more unusual problem.  We are making short videos for a Spanish class.  These are mostly three cameras with additional, non-sync audio for each of the main actors.  Each video is shot in short takes wit

  • AMs and PMs - how to search for small-caps?

    In my book I'm proofreading I have a mixture of (because I was undecided when I was putting it together): i 7.00 a.m. i 7.00 am i 7.00am I ran these three options past about twenty people this morning, 6 voted for the first, 8 voted for the second, 3

  • Errors in SMW01 as Customer Group Does not Exist.

    Hi, While monitering the Errors in Tcode SMW01. There is an error as "Customer group 55 does not exist". So please help me. regards, divya.

  • Invalid serial number 10.5.8

    Hi, Like all days, I've connected to my xserve with mac os X server 10.5.8 and server admin reports me a message that the server has a "invalid serial numer". I have a Unlimtied Clients License and I dont know why this errors appers? What can I do? I