SQL|使用T-SQL语句实现数据库的创建与管理

一、创建数据库

使用如下t-sql语句创建一个mydatabase数据库,注意一个数据库有一个或多个文件组,其中主文件组(Primary File Group)是系统自动创建的,我们可以根据需要添加文件组。在该段代码中,主文件组大小为100MB,有两个分区。文件组1和文件组2大小分别为100MB,有两个分区,实际数据库文件大小总共有300MB。

CREATE DATABASE mydatabase
ON
PRIMARY
(NAME=mydatabase_prim_sub_dat1,
FILENAME='D:\mytestdatabase\mydatabase_prim_sub_dat1.mdf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
(NAME=mydatabase_prim_sub_dat2,
FILENAME='D:\mytestdatabase\mydatabase_prim_sub_dat2.mdf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
FILEGROUP mydatabase_group1
(NAME=mydatabase_group1_sub1,
FILENAME='D:\mytestdatabase\mydatabse_group1_sub1_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),
(NAME=mydatabase_group1_sub2,
FILENAME='D:\mytestdatabase\mydatabse_group1_sub2_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%),

FILEGROUP mydatabase_group2
(NAME=mydatabase_group2_sub1,
FILENAME='D:\mytestdatabase\mydatabse_group2_sub1_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=15%),
(NAME=mydatabase_group2_sub2,
FILENAME='D:\mytestdatabase\mydatabse_group2_sub2_dat.ndf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=20%)
LOG ON(NAME=mydatabase_log,
FILENAME='D:\mytestdatabase\mydatabase_log.ldf',
SIZE=5MB,
MAXSIZE=50MB,
FILEGROWTH=10MB)
GO

二、分离数据库

EXEC sp_detach_db mydatabase,ture

三、SQL Server 数据库文件和文件组的相关知识

(1)文件,文件组的概念

  1. SQL Server 数据库最常用的存储文件是数据文件和日志文件,数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件构成。
  2. 不同的文件可以存分布到不同的物理硬盘上,这样便于分散硬盘IO,提高数据的读取速度。数据文件的组合,称作文件组(File Group),数据库不能直接设置存储数据的数据文件,而是通过文件组来指定。
  3. 文件和文件组的关系:SQL Server 的数据存储在文件中,文件是实际存储数据的物理实体,文件组是逻辑对象,SQL Server 通过文件组来管理文件。

(2)数据库与文件组的关系

  1. 一个数据库有一个或多个文件组,其中主文件组(Primary File Group)是系统自动创建的,用户可以根据需要添加文件组。
  2. 每一个文件组管理一个或多个文件,其中主文件组中包含主要数据文件(*.mdf),主文件组中也可以包含次要数据文件 。(主要数据文件是系统默认生成的,并且在数据库中是唯一的;次要数据文件是用户根据需要添加的。)
  3. 除了主文件组之外,其他文件组只能包含辅助文件。
 
posted @ 2022-04-10 20:51  Weltㅤ  阅读(927)  评论(0编辑  收藏  举报