如何通过SQL命令查看数据库的文件大小

如何通过SQL命令查看数据库的文件大小,第1张

要查的表名')

获取数据表名和字段

sqlserver中各个系统表的作用

sysaltfiles 主数据库 保存数据库的文件

syscharsets 主数据库 字符集与排序顺序

sysconfigures 主数据库 配置选项

syscurconfigs 主数据库 当前配置选项

sysdatabases 主数据库 服务器中的数据库

syslanguages 主数据库 语言

syslogins 主数据库 登陆帐号信息

sysoledbusers 主数据库 链接服务器登陆信息

sysprocesses 主数据库 进程

sysremotelogins主数据库 远程登录帐号

syscolumns 每个数据库 列

sysconstrains 每个数据库 限制

sysfilegroups 每个数据库 文件组

sysfiles 每个数据库 文件

sysforeignkeys 每个数据库 外部关键字

sysindexs 每个数据库 索引

sysmenbers 每个数据库 角色成员

sysobjects 每个数据库 所有数据库对象

syspermissions 每个数据库 权限

systypes 每个数据库 用户定义数据类型

select 列名=name from syscolumns where id=object_id(N'表名'

--读取指定表的所有列名

select name from syscolumns where id=(select max(id) from sysobjects where xtype=' and name='u'u'--读取库中的所有表名

select name from sysobjects where xtype='

下面有两个SQL语句可以达到在SQL

Server

2005/2008压缩指定数据库文件和日志的大小的效果:

1、DBCC

SHRINKDATABASE

(Transact-SQL)

收缩指定数据库中的数据文件和日志文件的大小。

语法

DBCC

SHRINKDATABASE

(

'database_name'

|

database_id

|

0

[

,target_percent

]

[

,

{

NOTRUNCATE

|

TRUNCATEONLY

}

]

)

[

WITH

NO_INFOMSGS

]

参数

'database_name'

|

database_id

|

0

要收缩的数据库的名称或

ID。如果指定

0,则使用当前数据库。

target_percent

数据库收缩后的数据库文件中所需的剩余可用空间百分比。

NOTRUNCATE

通过将已分配的页从文件末尾移动到文件前面的未分配页来压缩数据文件中的数据。target_percent

是可选参数。

文件末尾的可用空间不会返回给 *** 作系统,文件的物理大小也不会更改。因此,指定

NOTRUNCATE

时,数据库看起来未收缩。

NOTRUNCATE

只适用于数据文件。日志文件不受影响。

TRUNCATEONLY

将文件末尾的所有可用空间释放给 *** 作系统,但不在文件内部执行任何页移动。数据文件只收缩到最近分配的区。如果与

TRUNCATEONLY

一起指定,将忽略

target_percent。

TRUNCATEONLY

只适用于数据文件。日志文件不受影响。

WITH

NO_INFOMSGS

取消严重级别从

0

10

的所有信息性消息。

不是很懂你的问题意思,下次提问请描述的更清楚一些;

如果是想知道某一个表占用了多大空间,你可以用下面的语句

use yourDB

go

sp_spaceused yourTable

你会得到如下结果,各列分别是:

表名;行数;已占用空间;数据占用空间;索引占用空间;未使用空间;

如果你仅仅只是想知道某个列里面的值的数据长度,那就用datalength()函数就可以了

select DATALENGTH(a) DATALENGTH_a,* from test1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10067908.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存