We have jobs scheduled on several of our Database Servers, which execute DTS packages. The DTS packages have Connections (steps) to more than one Sql Servers (different applications). Because of the Sarbanes Oxley requirements, we are trying to come up with a way where only the primary developer for any given application would know the password for that application/Sqlserver. And because we have integrations between different systems/applications via DTS packages, we want to come up with a scenario where the developer of the DTS package would not need to know the password for the connection step to the other application involved in the DTS.
This is what we have come up with so far:
In our Development environment, the developers will have access to all the databases on all the sql servers via their NT domain accounts. Thus, they can create the DTS packages with connections to different sql server /databases (Development only) using windows authentication on all connection steps and then test it. When the DTS needs to be deployed, only the primary developer for the production database where the DTS/Job is to be housed, will have access to do so. He/She will copy (save as) the DTS to the production server, and then schedule it as a job. The DTS owner will thus be the primary developer for the application who has sa privileges.
If my understanding is correct, when the DTS is executed by the job, if the DTS uses 'Windows authentication' on the connection steps, the credentials associated with the sql server agent log on (from the machine where the job is running), will be used for authentication. Is this correct? If it is, then if we have sql server agents on all our instances to start using a windows domain account that has administrative rights, would this approach work? It seems like the NT domain admin account falls under the BuiltIn/Administrator login. WE have that login under the Sa role.
Would this approach work? Is there any downside to using such a mechanism.
Moreover, when the credentials from the sql server agent log on are passed to authenticate against any sql database, how does sql server figure out that this log on is part of the builtin/administrator group? Does Active Directory come into play at all?