怎么样获取文件的大小

七不语v 2010-11-12 12:44:08
如题,备份文件的大小要怎么获取?
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
王向飞 2010-11-12
  • 打赏
  • 举报
回复
   
xp_cmdshell 'dir /c f:\林夕-原来你非不快乐.txt'
--小F-- 2010-11-12
  • 打赏
  • 举报
回复
这个需要学习 寻找路径还可以 大小嘛 是个高深的问题
xman_78tom 2010-11-12
  • 打赏
  • 举报
回复

select
(select physical_device_name
from msdb..backupmediafamily
where media_set_id=bs.media_set_id) name,
CAST(SUM(backup_size)/1024.0 as numeric(10,2)) [Size(KB)]
from msdb..backupset bs
group by media_set_id;

七不语v 2010-11-12
  • 打赏
  • 举报
回复
7楼 obuntu说的对,我原先只查了backupfile表,并没注意backupset表,哎,是我疏忽了.谢谢.我自己弄了半了.这语句还没写好.
declare @a varchar(100)
declare @file table(info varchar(100))
set @a = 'D:\test.txt'
insert into @file execute('exec xp_cmdshell'' dir /c '+@a+'''')
select top 1 rtrim(ltrim(info)) from (select top 5 INFo from @file order by info )a order by info desc

剩下的就是要在结果'1 个文件 3,062,777,344 字节'里截取字符了,
obuntu 2010-11-12
  • 打赏
  • 举报
回复
查询msdb的backupset表

select
a.database_name,
a.backup_size,
a.compressed_backup_size,
a.backup_finish_date
from msdb.dbo.backupset a

--backup_size 备份集的大小(以字节为单位)。
王向飞 2010-11-12
  • 打赏
  • 举报
回复
declare @file varchar(100)
set @file='f:\林夕-原来你非不快乐.txt'
declare @cmd varchar(2000)
set @cmd ='dir /c '+@file
exec xp_cmdshell @cmd
七不语v 2010-11-12
  • 打赏
  • 举报
回复
declare @file varchar(10)
set @file='d:\test.txt'
execute('exec xp_cmdshell'' dir /c '+@file+'''')
七不语v 2010-11-12
  • 打赏
  • 举报
回复
declare @file varchar(10)
set @file='d:\test.txt'
execute('exec xp_cmdshell'' dir /c '+@file+'''')

帮我看看怎么查询不到,
rucypli 2010-11-12
  • 打赏
  • 举报
回复
select * from msdb.dbo.backupfile

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧