August 31, 2005 at 8:58 am
Is there a way to allow a UNC to be recognized within a stored procedure's variable on SQL 2000 SP4?
I created a file on SERVERABC's E: drive called TRASH.bak
This WORKS:
declare @command nvarchar(4000)
SELECT @command = 'master..xp_cmdshell ''del ' + 'e:\TRASH.BAK'''
EXECUTE (@command)
This DOESN'T:
declare @command nvarchar(4000)
SELECT @command = 'master..xp_cmdshell ''del ' + '\\SERVERABC\e:\TRASH.BAK'''
EXECUTE (@command)
August 31, 2005 at 9:46 am
Hi there!
It does work with UNC names. I just made a test and it works fine on SQL Server 2000 SP4.
Here follows my test:
declare @sql VARCHAR(50)
SET @sql = 'xp_cmdshell ''dir \\d4253sd07\scripts$'''
EXEC(@SQL)
It returns this:
Volume in drive \\d4253sd07\scripts$ is Dados
Volume Serial Number is A4B7-87E2
NULL
Directory of \\d4253sd07\scripts$
NULL
31/08/2005 12:23 <DIR> .
31/08/2005 12:23 <DIR> ..
24/08/2005 15:34 <DIR> DDL
26/08/2005 12:24 <DIR> Doncly
Just a doubt... Are you using "e:" as share name? Also, as Lee Dise said, the share must be visible to the SQL Server Agent or SQL Server Service login.
August 31, 2005 at 10:52 pm
Change it to use "e$" in place of "e:". someone correct me if I am wrong, but a UNC path it made up of:
\\\
September 1, 2005 at 3:37 am
This might be a security problem. Check if the user executing the SP or the account under which the SQL server is running has enough right to access to network ressources or map drives.
Cheers,
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply