SQL server 数据库管理

版权声明:20180913@wx:wenhs5479 https://blog.csdn.net/wenhs5479/article/details/82823549

通过命令方式查看数据库

1,先按Ctrl+n新建查询窗口
2,输入如下T-SQL语句,然后执行,可查看到数据库student的相关信息

sp_helpdb student

wenhs5479a

3,使用系统储存过程,SP_DATABASES显示服务器中所有可以使用的数据库信息,命令:sp_databases
wenhs5479b

4,使用系统储存过程,SP_HELPFILE查看数据库中文件的信息.语法如下

SP_HELPFILE [文件名]

wenhs5479c

5,使用系统储存过程,SP_HELPFILEGROUP显示数据库中文件组的信息,语法如下:

sp_helpfilegroup [文件组名]

说明:不加文件组名,显示数据库中所有文件组的信息.
wenhs5479d

管理数据库

1,通过命令方式对数据库更名,语法格式如下:

EXEC sp_renamedb oldname,newname
其中:
EXEC:执行命令语句
sp_renamedb:系统储存过程
oldname:更改前数据库名称
newname:更改后数据库名称

示例:EXEC sp_renamedb 'student', '学生'
wenhs5479e

2,修改数据库选项

ALTER DATABASE student
ADD FILEGROUP datal					--添加文件组datal
ALTER DATABASE student				--修改数据库
ADD FILE							--添加次要数据文件
(NAME=stu_dat,
FILENAME='C:\sql\stu_dat_2.ndf',
SIZE=1,
MAXSIZE=50,
FILEGROWTH=1),
(NAME=student_log,
FILENAME='C:\sql\stu_log_3.ldf',	--添加事务日志文件
SIZE=2,
MAXSIZE=50,
FILEGROWTH=10%)
TO FILEGROUP datal					--将以上两个文件添加到datal文件组

wenhs5479f

3,删除数据库student中的文件stu_dat,命令如下:

ALTER DATABASE student
REMOVE FILE stu_dat

wenhs5479g

4,修改数据库大小
a,数据库student数据文件stu_dat_2的初始值增大到20mb,命令如下:

ALTER DATABASE student
MODIFY FILE
(
NAME=stu_dat_2,
SIZE=20MB
)

wenhs5479h

b,缩小数据库,语法格式如下:

DBCC SHRINKDATABASE
(database_name [, target_percent]
[, {NOTRUNCATE|TRUNCATEONLY}]
)

参数说明:
database_name:要缩小的数据库名称
target_percent:指收缩数据库的比例
NOTRUNCATE:指在数据库文件中保留收缩数据库时释放出来的空间.如果没有定义参数,缩小的空闲空间将归还给操作系统
TRUNCATEONLY:将数据文件夹中未使用的空间释放给操作系统,以减少数据库文件的大小.

示例:执行DBCC SHRINKDATABASE(student,10)
9wenhs5479

5,删除数据库
命令:DROP DATABASE student
说明:当数据库处于以下三种情况之一时,不能被删除.
a,有用户使用此数据库时.
b,数据库正在被恢复(restore)时.
c,当数据库正在参与复制时.
10wenhs5479
系统数据库中的master,model和tempdb都不能被删除,msdb虽然可以被删除,但删除msdb后很多服务(比如SQL server代理服务)将无法使用,因为这些服务在运行时会用到msdb.

6,分离数据库
命令语法如下:

sp_datach_db [@dbname= ] 'dbname'
[, [@skipchecks= ] 'skipchecks']
[,[@keepFulltextIndexFile] 'keepFulltextIndexFile']

参数说明:
[@dbname= ] 'dbname':要分离的数据库名称
[, [@skipchecks= ] 'skipchecks']:定义是否运行更新统计信息的操作
[,[@keepFulltextIndexFile] 'keepFulltextIndexFile']:与数据库有关的full-text文件是否要分离,默认值为true.

示例:执行sp_datach_db @dbname='student'出错,显示2812错误,我还不知道怎么解决,解决后补图修改

7,附加数据库
语法命令如下:

CREATE DATABASE database_name
ON <filespec>[,...n]
FOR{ATTACH[WITH<service_broker_option>]|ATTACH_REBUILD_LOG}

参数说明如下:
database_name:要附加的数据库名称
ATTACH_REBUILD_LOG:重建日志文件

示例:执行EXEC sp_attach_db @dbname=student,@filenamel='C:\sql\student_datal.mdf',
其中@dbname后面跟的是数据库的名称,@filenamel后面跟的是该数据库中主数据文件的名称.

该篇未完待续…(2018年9月23日星期日)

没有更多推荐了,返回首页