我正在使用查询来获取所有已安装驱动器的磁盘空间以及lofical驱动器。我正在使用一个SQL脚本来调用此任务的.vbs脚本。
现在我想在运行时启用xp_cmdshell。我正在使用SQL 2008 R2。
我正在使用的SQL脚本如下:
DECLARE @VBSPATH VARCHAR(200)
SET @VBSPATH='cscript G:\temp\win.vbs'
SET NOCOUNT ON
IF EXISTS (SELECT 1 FROM tempdb..sysobjects WHERE NAME ='##tmp')
DROP TABLE ##tmp
CREATE TABLE ##tmp(diskspace VARCHAR(200))
INSERT ##tmp
EXEC master.dbo.xp_cmdshell @VBSPATH
SET ROWCOUNT 3
DELETE ##tmp
SET ROWCOUNT 0
IF EXISTS (SELECT 1 FROM tempdb..sysobjects WHERE NAME ='##tmp2')
DROP TABLE ##tmp2
CREATE TABLE ##tmp2(DriveName VARCHAR(100),DriveDescription
VARCHAR(15),TotalDiskSpace_in_MB VARCHAR(10), Freespace_in_MB VARCHAR(10))
INSERT ##tmp2
SELECT RTRIM(SUBSTRING(diskspace,31,100)), SUBSTRING(diskspace,18,13),
SUBSTRING(diskspace,1,8) ,SUBSTRING(diskspace,9,9) FROM ##tmp
WHERE diskspace IS NOT NULL
SELECT * FROM ##tmp2