笔记114 得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间(2)
1 --得到SQLSERVER 2005 数据库的当前数据库中的数据文件所在磁盘的剩余空间(2)
2 exec master..xp_fixeddrives
3 exec master..xp_availablemedia 2
4 exec xp_availablemedia 2
5
6 --得到SQL中的各种目录
7 declare @path varchar(8000)
8
9 --得到当前数据库的数据文件路径
10 --指定数据库,直接select filename from <your_db_name>.dbo.sysfiles即可
11 --sysfiles 每个数据库 文件 因为sysfiles 表属于每个数据库所以要指定GPOSDB.dbo.sysfiles
12 select filename from sysfiles --呢句的结果: C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\master.mdf
13 --C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\mastlog.ldf
14
15 select @path=rtrim(reverse(filename)) from GPOSDB.dbo.sysfiles --呢句的结果把上面的结果的字符串调转fdm.retsam\ATAD\LQSSM\1.LQSSM\revreS LQS tfosorciM\seliF margorP\:C
16 select @path=reverse(substring(@path,charindex('\',@path),8000)) --CHARINDEX函数返回字符或者字符串在另一个字符串中的起始位置 SELECT charindex('\',@path) 返回12
17 select 数据文件目录=@path
18 --
19 ----得到SQL安装时设置的数据文件路径
20 select @path=rtrim(reverse(filename)) from master..sysfiles where name='master'
21 select @path=reverse(substring(@path,charindex('\',@path),8000))
22 select SQL数据文件目录=@path
23 SELECT * FROM sys.sysfiles
24 ----
25 ------根据安装路径得到默认的备份目录:
26 select @path=rtrim(reverse(filename)) from master..sysfiles where name='master'
27 select @path=substring(@path,charindex('\',@path)+1,8000), --substring加了1之后 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\ 变成了C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA
28 @path=reverse(substring(@path,charindex('\',@path),8000))+'BACKUP\' --去咗DATA变成 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\加上BACKUP\
29 select SQL默认备份目录=@path