1.创建数据库
使用如下t-sql语句创建一个mydatabase数据库,注意一个数据库有一个或多个文件组,其中主文件组(Primary File Group)是系统自动创建的,我们可以根据需要添加文件组。在该段代码中,主文件组大小为100MB,有两个分区。文件组1和文件组2大小分别为100MB,有两个分区,实际数据库文件大小总共有300MB。
1. CREATE DATABASE mydatabase
2. ON
3. PRIMARY
4. (NAME=mydatabase_prim_sub_dat1,
5. FILENAME='D:/mytestdatabase/mydatabase_prim_sub_dat1.mdf',
6. SIZE=5MB,
7. MAXSIZE=50MB,
8. FILEGROWTH=20%),
9. (NAME=mydatabase_prim_sub_dat2,
10. FILENAME='D:/mytestdatabase/mydatabase_prim_sub_dat2.mdf',
11. SIZE=5MB,
12. MAXSIZE=50MB,
13. FILEGROWTH=20%),
14. FILEGROUP mydatabase_group1
15. (NAME=mydatabase_group1_sub1,
16. FILENAME='D:/mytestdatabase/mydatabse_group1_sub1_dat.ndf',
17. SIZE=5MB,
18. MAXSIZE=50MB,
19. FILEGROWTH=20%),
20. (NAME=mydatabase_group1_sub2,
21. FILENAME='D:/mytestdatabase/mydatabse_group1_sub2_dat.ndf',
22. SIZE=5MB,
23. MAXSIZE=50MB,
24. FILEGROWTH=20%),
25.
26. FILEGROUP mydatabase_group2
27. (NAME=mydatabase_group2_sub1,
28. FILENAME='D:/mytestdatabase/mydatabse_group2_sub1_dat.ndf',
29. SIZE=5MB,
30. MAXSIZE=50MB,
31. FILEGROWTH=15%),
32. (NAME=mydatabase_group2_sub2,
33. FILENAME='D:/mytestdatabase/mydatabse_group2_sub2_dat.ndf',
34. SIZE=5MB,
35. MAXSIZE=50MB,
36. FILEGROWTH=20%)
37. LOG ON
38. (NAME=mydatabase_log,
39. FILENAME='D:/mytestdatabase/mydatabase_log.ldf',
40. SIZE=5MB,
41. MAXSIZE=50MB,
42. FILEGROWTH=10MB)
43. GO
2.分离数据库
EXEC sp_detach_db mydatabase,ture
3.SQL Server 数据库文件和文件组的相关知识
- 文件,文件组的概念,
-
- SQL Server 数据库最常用的存储文件是数据文件和日志文件,数据文件用于存储数据,由一个主要数据文件(.mdf)和若干个次要数据文件(.ndf)构成;日志文件用于存储事物日志,由.ldf文件构成。
- 不同的文件可以存分布到不同的物理硬盘上,这样便于分散硬盘IO,提高数据的读取速度。数据文件的组合,称作文件组(File Group),数据库不能直接设置存储数据的数据文件,而是通过文件组来指定。
- 文件和文件组的关系:SQL Server 的数据存储在文件中,文件是实际存储数据的物理实体,文件组是逻辑对象,SQL Server 通过文件组来管理文件。
- 数据库与文件组的关系
-
- 一个数据库有一个或多个文件组,其中主文件组(Primary File Group)是系统自动创建的,用户可以根据需要添加文件组。
- 每一个文件组管理一个或多个文件,其中主文件组中包含主要数据文件(*.mdf),主文件组中也可以包含次要数据文件 。(主要数据文件是系统默认生成的,并且在数据库中是唯一的;次要数据文件是用户根据需要添加的。)
- 除了主文件组之外,其他文件组只能包含辅助文件。
原创文章,作者:6024010,如若转载,请注明出处:https://blog.ytso.com/244760.html