• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1381
  • Last Modified:

exec DTS within a SP: xp_cmdshell failed to execute

(SQL2K) -2147467259, xp_cmdshell failed to execute because current security context is not sysadmin and proxy account is not setup correctly.  For more information, refer to Book Online, search for topic related to xp_sqlagent_proxy_account.

The above error message is generated as a result of Access VBA (below) calling the attached code snippet/SP:

sSQL = "exec spm_create_stand_alone '" & sCase & "'"
rs = gcnCASES.Execute(sSQL).Fields(0).Value

I could use some help getting past this, as my knowledge of SQL users/roles/proxy agents is nearly nil.

TIA
Jim

CREATE PROC spm_create_stand_alone(@cases_id varchar(50)) AS
 
SET NOCOUNT ON
 
/*
-- TESTING ONLY
use dbname
Declare @cases_id varchar(50)
SELECT @cases_id = '15322 FOO-3'
*/
 
Declare @bail_message varchar(100)
 
-- Make sure the case was pushed 
IF NOT EXISTS (SELECT cases_id FROM CLOG_CASE_LOG WHERE cases_id=@cases_id)
	begin
	SELECT @bail_message = 'Case ' + @cases_id + 'has not been extracted.'
	goto bail
	end
 
DELETE FROM MY_TABLE
 
INSERT INTO MY_TABLE (CASES_ID) VALUES (@cases_id)
 
-- Run the DTS package that writes to the Access database
exec master.dbo.xp_cmdshell 'dtsrun /Sserver /Utheuser /Pthepassword /Nthedtspackage, no_output
 
SELECT '1' as RETURN_VALUE
goto ex
 
-- This code processes if the deletion was unsuccessful based on any of the above criteria. 
bail:
	begin
	SELECT @bail_message as RETURN_VALUE
	goto ex
	end
 
ex:
GO

Open in new window

0
Jim Horn
Asked:
Jim Horn
1 Solution
 
James MurrellProduct SpecialistCommented:
that error means permissions........ would suggest a permissions error or incorrectly
specified location, also this error occurs when you leave spaces between the switches and their values
0
 
Jim HornMicrosoft SQL Server Developer, Architect, and AuthorAuthor Commented:
Sorry for abandoning the question.

I found out that xp_cmdshell can't be called like this, as it would enable calling code to pretty much do anything.
I'm going to lower points to 200 and award to you, as your comment pointed in that direction.

Jim
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: MCSA MCSE Windows Server 2012

This course teaches how to install and configure Windows Server 2012 R2.  It is the first step on your path to becoming a Microsoft Certified Solutions Expert (MCSE).

Tackle projects and never again get stuck behind a technical roadblock.
Join Now