1
作为概念证明,我们试图在现有解决方案中插入xp_cmdshell
命令。目前的应用程序调用存储过程我们的数据库服务器上异形的模样,当:从存储过程调用xp_cmdshell
declare @P1 int
set @P1=1
exec Name_Of_The_SP @param1 = 3, @param2 = 'blah', @parametc = 'blahetc', @ID = P1 output
select @P1
的SP基本上打开了一个交易,插入一行,然后提交。这里面我们说:
exec master..xp_cmdshell 'dir > c:\test.txt'
当我们再运行的一个代码块中按预期在服务器上生成该文件的SSMS查询窗口。但是当我们使用应用程序来调用它时,这些行就像正常一样插入,但是文件不会被生成?
SQL Server和SQLAgent用户是本地管理员和系统管理员,因此看不到任何问题。试图让应用程序用户成为本地管理员也无济于事,它已经是一个系统管理员。
这是SQL Server 2000中
为了避免错误迁徙的选民,我不认为他们会很欣赏这个问题,因为它并不是真正关于“以专业的身份管理计算机系统”,因为他们在常见问题解答中有这些问题。 – dsolimano
你在SQL 2000中有'sp_xp_cmdshell_proxy_account'吗? – podiluska
Podiluska,我希望作为高手下的扩展程序吗?如果是这样,它不存在。使用企业管理器我确实确定了一个代理,将其作为系统管理员和本地管理员(纯粹作为测试),并且仍以问题中概述的方式执行。 – Paul