I received a couple of questions following my post: Extracting SharePoint Data using SSIS, about how to set the package to run properly given that many WSS lists are secured by NT Group or list of accounts. This led right into a discussion on security and what you could now do in SQL 2005 that was not available in SQL 2000. Both SQL 2000 and 2005 use a proxy account to access resource and run the T-SQL subsystem, however in 2005, you can break out permissions more granularly. The screenshot below shows the different subsystems that are available in a typical SQL 2005 server:
Why go over this? To achieve our goal of pulling the list data from our WSS site and saving it as an XML file, we needed our scheduled job to execute with the proper permissions; if you remember, the line in our script task that set our credentials will inherit the credentials of the executing account – which by default is the SQL Agent Service Account. In my case, the process account running the SQL Agent service does not have permission to our WSS list. To get our script task to perform properly, one of my choices would be to request access to the list for the SQL Agent process account – this would work fine in some situations, however in larger environments, you end up with one account that has access to many, many different bits of information and you have not tiered information access and security in any way. What I will walk through is setting up a proxy that an SSIS package can use during execution in a scheduled job. Our end state will be the Run as selection box below having more than one option:
Our first step will be to create Credentials that our proxy will use. To do this using SMS, under ServerName > Security > Credentials, right click and select New Credential. Fill in the information for the account you will be using. You can also create the credential from SQL script: CREATE CREDENTIAL MyNewCredential WITH IDENTITY = 'TestUser', SECRET = 'TestUserPassword'.
After you have create the credential, in SMS expand the options below SQL Server Agent > Proxies. You will see the list from Figure 1. We are going to create a proxy for SSIS Package Execution: right click and select New Proxy. Notice that in the New Proxy Account window that you can select multiple SQL subsystems for a given proxy.
After you create the proxy, we will now have our selection in our Job Step as we stated in our goal. Note that the selections you made for which subsystems the proxy is active for will also determine when it shows in the Run As box below; in this example, we gave our proxy access to the SQL Server Integration Services Package subsystem, and thus we get the proxy as an option below as they Type matches. If the proxy does not have access to a subsystem that you have chosen as your type in the Job Step, then it will not appear as an available option for you.
This covers the basics on how and why you might want to create a proxy; be sure to post if you have any more detailed questions.
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5