我是用的环境是win10,在登陆的过程中并没有遇到什么问题。所以紧接着开始学习创建数据库。
create database Stu_db2
on primary
(NAME=studio_db2,
FILENAME='D:\studio_db2.mdf',
SIZE=4MB,
MAXSIZE=6MB,
FILEGROWTH=20%
),
(NAME=studio_dbtwo,
FILENAME='d:\studio_dbtwo.ndf',
SIZE=5mb,
MAXSIZE=60mb,
FILEGROWTH=5mb
),
filegroup studio_new_group
(name=studio_db_new,
filename='d:\studio_db_new.ndf',
size=10mb,
maxsize=100mb,
filegrowth=0
)
log on
(name=studio_log,
filename='d:\studio_log.ldf',
size=3mb,
maxsize=30mb,
filegrowth=1mb
)
其中要注意一点,最后一项后面没有“,”。之前粗心,以为每一个设置项后面都要加逗号,这是不对的。primary是默认的文件组。没有指定文件组的文件都会放到里面。系统表也会放到primary组中。
文件扩展名 | 文件 | 说明 |
---|---|---|
.mdf | 主要数据文件 | 主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,每一个数据库中有一个主要数据文件 |
.ndf | 次要数据文件 | 由用户定义并存储用户数据 |
.ldf | 日志 | 保存日志信息 |
那么,如何在数据库中加入新的文件组呢?如何向数据库中加新文件呢?
USE master
GO
alter database Stu_db1 add filegroup file_group
GO
alter database Stu_db1 add file(
name=N'new_datafile',
filename=N'd:\new_datafile.ndf',
size=3mb,
filegowth=1mb
)
To filegroup file_group
GO
到这里,就学会了如何创建一个数据库了。
现在我已经学会相关的数据库创建方法了,那么如何去删除一个数据库文件呢?
USE Stu_db3
GO
alter database Stu_db3 remove file new_datafile
GO
其中注意一点,要删除的在代码里不用加扩展名。
如何更换默认的文件组呢?
alter database Onedb_bak
modify filegroup Two_rg default
这样就可以在数据库Onedb_bak将 Two_rg设为默认的文件组了。
那么如何让文件组只读? 只要将default改为 readonly
删除文件组 使用remove 但是要注意,文件组里没有数据文件才可以执行。
通常数据库建立在服务器上,由于刚刚学习,并不是很明白。先将状态记录下来,以便于以后的查阅和复习
状态 | 定义 |
---|---|
online | 可以对数据库进行访问 |
offline | 不可以对数据库进行访问 |
restoring | 还原状态,正在还原主文件组的一个或多个文件,此时数据库不可用 |
recovering | 恢复状态,如果恢复成功会变为在线状态,恢复失败进入可疑状态 |
recovering pending | 恢复未完成,可能存在一些问题,需要用户执行另外的操作 |
suspect | 可疑状态,主文件存在问题,甚至损坏 |
emergency | 紧急状态,数据库处于单用户模式,且仅限sysadmin固定成员访问 |
drop database Onedb
删除一个数据库,首先要保证该数据库不在使用。
脱机的文件不会被删除
在删除数据库之前必须将所有数据库快照删除。取消日志传送操作。
在SSMS中,右键某数据库存在删除指令。