標籤:
在SQL Server中,要擷取資料庫資料檔案的物理位置,有三種方法:
sp_helpdb bright
name filename filegroup size
------------- ------------------------------- ---------- -----------
Bright Z:\MSSQL\data\Bright.mdf PRIMARY 10130240 KB
Bright_log Z:\MSSQL\data\Bright_log.LDF NULL 3456 KB
Bright01 Z:\MSSQL\data\Bright01.mdf PRIMARY 10919616 KB
Bright01_log Z:\MSSQL\data\Bright01_log.LDF NULL 265344 KB
Bright02 Z:\MSSQL\DATA\Bright02.ndf PRIMARY 102080 KB
select type_desc,name,physical_name,size from Bright.sys.database_files
type_desc name physical_name size
--------- ------------- -------------------------------- -----------
ROWS Bright Z:\MSSQL\data\Bright.mdf 1266280
LOG Bright_log Z:\MSSQL\data\Bright_log.LDF 432
ROWS Bright01 Z:\MSSQL\data\Bright01.mdf 1364952
LOG Bright01_log Z:\MSSQL\data\Bright01_log.LDF 33168
ROWS Bright02 Z:\MSSQL\DATA\Bright02.ndf 12760
select type_desc,name,physical_name,size from master.sys.master_files where database_id=DB_ID(Bright)
type_desc name physical_name size
--------- ------------- -------------------------------- -----------
ROWS Bright D:\MSSQL\DATA\Bright.mdf 1266280
LOG Bright_log D:\MSSQL\DATA\Bright.LDF 432
ROWS Bright01 D:\MSSQL\DATA\Bright01.mdf 1364952
LOG Bright01_log D:\MSSQL\DATA\Bright01.LDF 33168
ROWS Bright02 D:\MSSQL\DATA\Bright02.mdf 12760
對於一般的資料庫,用“sp_helpdb”命令獲得的檔案大小更直觀,其他二個命令返回的大小實際是資料區塊的數量,資料區塊的大小是8KB。
但是,如果一個資料庫是用“Restore database with STANDBY”恢複的唯讀資料庫,那隻有第三種方法即從MASTER資料庫中獲得的檔案位置才是真實的。
如何擷取SQL Server 2008資料庫資料檔案的位置