2
A
回答
6
从技术上讲,使用正确的权限,可以执行xp_cmdshell向OS发出命令(或者调用批处理文件,不管),但这可能不是一个好主意。如果您确实使用该方法,请对权限进行严格限制。
为清晰起见进行了编辑。
+0
您可以发出“whoami”来确定SQL xp_cmdshell后面的用户(它比在服务中查找它更有趣)。也可能有政策要考虑。 – 2009-08-18 17:14:30
+0
+1虽然最后一句很奇怪,但SQL Server已经可以访问您的操作系统,任何人都有系统管理员权限。 – Andomar 2009-08-18 17:15:06
3
试试这个
选项1 使用xp_cmdshell的
xp_cmdshell 'del y:\file.dat'
选项2 使用OLE自动化
DECLARE @ResultOP int
DECLARE @OLE_Obj int
EXEC @ResultOP = sp_OACreate 'Scripting.FileSystemObject', @OLE_Obj OUTPUT
EXEC @ResultOP = sp_OAMethod @OLE_Obj, 'DeleteFile', NULL, 'y:\file.dat'
EXEC @ResultOP = sp_OADestroy @OLE_Obj
1
您也可以使用存储过程的CLR删除文件删除文件这个。这是存在托管存储过程的主要原因之一,是以安全的方式与操作系统进行交互。
相关问题
- 1. 让操作系统删除文件
- 2. 是否有任何方法来删除/隐藏系统扩展存储过程?
- 3. 通过操作系统shell删除python文件
- 4. 如何从文件系统中删除传递操作系统功能的确切文件?
- 5. 在SQLProj中引用系统存储过程时删除警告
- 6. 是否有可能从基础Docker文件覆盖基本操作系统?
- 7. 是否有可能从woocommerce中删除这些操作
- 8. 如何清除(删除)在Ubuntu操作系统中存在的临时文件?
- 9. 操作系统是否有安全文本输入的功能?
- 10. 是否可以在文件系统过滤器驱动程序中删除IRP?
- 11. 从Unix系统中删除文件
- 12. Totaly从Raspbian系统中删除文件
- 13. 从AWS中删除文件系统 - Hadoop
- 14. 是否有宏检测操作系统...?
- 15. Android是否有“主机”操作系统?
- 16. 在Android操作系统中删除拦截文件
- 17. 操作系统 - 过程
- 18. 删除IE缓存编程方式在64位操作系统
- 19. 操作系统是一个过程吗?
- 20. 从Oracle存储过程中的目录中删除文件
- 21. 在文件系统中Silverlight是否存在隔离存储?
- 22. 如何删除某个系统存储过程?
- 23. 是否有可能从文件系统创建VectorDrawable(* .xml文件)
- 24. 存储过程中的多重删除操作
- 25. 是否有一个低级prepend操作的文件系统?
- 26. iphone 4.0操作系统。是否有可能在应用程序沙箱之外读取文件系统?
- 27. 是否可以从git存储中删除单个文件?
- 28. 是否有可能使用java制作操作系统?
- 29. 系统文件缓存是否被系统中的所有进程共享?
- 30. 是否有可能从Github安全地删除存储库
EXECUTE xp_cmdshell'delete *。*' – 2009-08-18 17:19:10
虐待在下周左右尝试的建议,最终我会选择我最喜欢的答案。 – djangofan 2009-08-20 01:08:20