sql server 查看库或表占用多少空间

sql server 查看库或表占用多少空间,第1张

如果是要查看一个数据库的空间的话,就C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 目录下找到你要查看的数据库文件(2个,一个是mdf文件,一个是ldf文件),找到后查看属性就可以知道了,如果想看所有的数据库总的占用空间的话,就直接查看C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data 目录的占用空间就可以了,呵呵,希望能有帮助,^_^

创建存储过程:

CREATE PROCEDURE [dbo].[sys_viewTableSpace]

AS

BEGIN

SET NOCOUNT ON

CREATE TABLE [dbo].#tableinfo(

表名 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,

记录数 [int] NULL,

预留空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,

使用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,

索引占用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,

未用空间 [varchar](50) COLLATE Chinese_PRC_CI_AS NULL

)

insert into #tableinfo(表名, 记录数, 预留空间, 使用空间, 索引占用空间, 未用空间)

exec sp_MSforeachtable "exec sp_spaceused '?'"

select * from #tableinfo

order by 记录数 desc

drop table #tableinfo

END

使用的时候直接 :exec sys_viewtablespace

USE pubs

在没有再次使用USE语句来改变当前数据库以前,后面的每一行操作语句都将针对pubs数据库执行。使用系统存储过程sp_helpdb可以查看当前服务器上所有数据库的信息,如果指定了数据库的名字则返回指定数据库的信息。

使用系统存储过程sp_databases可以查看当前服务器上所有可以使用的数据库。

使用系统存储过程sp_helpfile可以查看当前数据库上所有文件(包括数据文件和日志文件)的信息。如果指定了文件的名字,则返回该文件的信息。

使用系统存储过程sp_helpfilegroup可以查看当前数据库上所有文件组,包括Primary文件组和User_defined文件组的信息。如果指定了文件组的名字,则返回该文件组的信息。

可以使用企业管理器来查看更详细的有关数据库的信息,方法是:

(1) 选中要查看的数据库。

(2) 从【操作】菜单或快捷菜单中选择【属性】命令,弹出如图3.4所示的对话框。从中可以查看或者修改数据文件、日志文件、文件组及使用权限等属性。

图3.4 数据库的属性查看

3.4 管理数据库

创建好数据库,也许使用一段时间之后,发现此数据库的文件容量不敷使用、此数据库已经有一段时间不用了等相关事情发生时,就必须要针对数据库来进行管理。

3.4.1 修改数据库大小

SQL Server 2000的数据文件可以自动扩充长度,所以数据库的大小也会自动增加。但是如果设置了最大文件长度,则数据库的扩充依然是有必要进行的操作。修改数据库的大小实质上是修改数据文件和日志文件的长度,或者增加/删除操作系统文件。这种操作可以通过下面的语法来实现:

ALTER DATABASE database

{ ADD FILE <filespec>[,...n] [TO FILEGROUP filegroup_name]

| ADD LOG FILE <filespec>[,...n]

| REMOVE FILE logical_file_name

| ADD FILEGROUP filegroup_name

| REMOVE FILEGROUP filegroup_name

| MODIFY FILE <filespec>

| MODIFY FILEGROUP filegroup_name filegroup_property

}

<filespec>::=

(NAME = logical_file_name

[, FILENAME = 'os_file_name' ]

[, SIZE = size]

[, MAXSIZE = { max_size | UNLIMITED } ]

[, FILEGROWTH = growth_increment] )

下面的例子在Company数据库的默认文件组Primary文件组里,增加了一个数据文件。

ALTER DATABASE Company

ADD FILE

(

NAME = Test1dat2,

FILENAME = 'e:\program files\Microsoft sql server\mssql\data\t1dat2.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB

)

GO

下面的例子在Company数据库的ComGroup1文件组里增加了两个数据文件,并将该文件组设置为默认文件组。

ALTER DATABASE Company

ADD FILE

( NAME = test1dat3,

FILENAME ='e:\program files\Microsoft sql server\mssql\data\t1dat3.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB),

( NAME = test1dat4,

FILENAME = 'e:\program files\Microsoft sql server\mssql\data\t1dat4.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB)

TO FILEGROUP ComGroup1

ALTER DATABASE Company

MODIFY FILEGROUP ComGroup1 DEFAULT

GO

下面的例子将Company数据库中test1dat3数据文件的长度改变为20MB。

ALTER DATABASE Company

MODIFY FILE

(NAME = test1dat3,

SIZE = 20MB)

GO

同样的操作可以在企业管理器中进行,方法如下。

(1) 选中要查看的数据库。

(2) 从主菜单或快捷菜单中选择【属性】命令,弹出如图3.4 所示对话框。

(3) 在【数据文件】选项卡中增删数据文件或对其属性进行修改。

(4) 在【事务日志】选项卡上增删日志文件或对其属性进行修改。

3.4.2 收缩数据库

SQL Server 2000数据库在长时间使用后数据文件和日志文件会非常庞大,同时删除了大量的数据后,数据文件的大小并没有自动变小。SQL Server 2000提供了手段来缩小过于庞大的数据库,以回收没有使用的数据页。可以用手动的方法单独缩小某一个数据文件,也可以缩小整个文件组的长度。还可以设置数据库在达到一定大小之前自动执行缩小操作。

使用企业管理器完成缩小数据库的方法如下。

(1) 从指定服务器上展开数据库节点,选中要执行缩小操作的数据库。

(2) 从快捷菜单中选择【所有任务】|【收缩数据库】命令,弹出如图3.5所示的对话框。

图3.5 缩小数据库

选择执行数据库缩小操作的方式:

l 【收缩后文件中的最大可用空间】微调框 在进行过数据库收缩后,文件中还可以利用的空间。

l 【在收缩前将页移到文件起始位置】复选框 把含有数据的数据页都移动到文件的开头。

l 【收缩文件】选项组 为了进行更精确的文件大小控制,针对每个单独的数据库文件进行收缩,具体方法是:单击【文件】按钮,弹出如图3.6所示的对话框。

图3.6 针对文件进行收缩

可以在这个对话框中选择针对文件执行收缩操作的不同方式,也可以设置执行收缩操作的时间,把执行数据库收缩的时间安排在数据库存取不那么频繁的时段。

3.4.3 备份数据库

数据对于用户来说是非常宝贵的资产。数据是存放在计算机上的,但是即使是最可靠的硬件和软件,也会出现系统故障或产品故障。所以,应该在意外发生之前做好充分的准备工作,以便在意外发生之后有相应的措施能快速地恢复数据库的运行,并使丢失的数据量减少到最小。

通过企业管理器来备份数据库的操作如下:

(1) 选中指定的数据库,选择【工具】|【备份数据库】命令,弹出如图3.7所示的对话框。

图3.7 进行数据库备份

(2) 在该对话框可以更换需要备份的数据库,输入备份的名字和对备份的描述,选择备份的类型。

(3) 单击【添加】按钮选择要备份的设备,如图3.8所示。

图3.8 选择备份设备

在这个对话框中可以创建新的备份设备。用户可以一次选择多个设备,将数据库备份到多个设备上。也可以将数据库备份到指定的文件。

(4) 在图3.7所示的对话框的【重写】选项组里,选择在设备上进行操作的方式,可以选择【追加到媒体】单选按钮,将新的备份添加到备份设备中以前备份的后面(不影响原来的备份);也可以选择【重写现有媒体】单选按钮,用新的备份覆盖原来的备份。

(5) 选中【调度】复选框,用户可以拟订自动进行备份操作的时间,单击右边的按钮用户可以自主设计自动进行备份操作的时间,如图3.9所示。完成设置后单击【确定】按钮,回到数据库备份界面。

图3.9 设置自动备份

(6) 单击【确定】按钮,完成备份操作。

3.4.4 恢复数据库

使用SQL Server 2000可以很方便地实现数据库的恢复,步骤如下。

(1) 选中指定的数据库,选择【工具】|【还原数据库】命令,弹出对话框如图3.10所示的对话框。

图3.10 还原数据库

(2) 可以选择要进行还原的数据库。在【参数】选项组中,用户可以选择利用哪个数据库备份来执行数据库的恢复操作。如果是利用事务日志来进行恢复,还可以选择恢复数据库到某一指定时刻的状态。如果是从设备(文件)恢复数据库,可以在【还原】选项中选择【从设备】单选按钮,如图3.11所示。

图3.11 从设备还原数据库

单击【选择设备】按钮,如图3.12所示。单击【添加】按钮可以选择还原的文件名称。完成后单击【确定】按钮。

图3.12 选择设备

(3) 单击【确定】按钮完成数据库的恢复。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/67211.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存