goback add

SQL Server数据架构创建之数据库文件的创建

4546 点击·0 回帖
灯火互联
楼主
SQL Server数据架构创建之数据库文件的创建
 
一、数据库文件概念
 
数据库由两组文件组成:数据文件与事务日志文件。
 
1、数据文件:包含所有的系统及用户表、索引、视图、存储过程、用户定义函数、触
 
发器和安全权限等。
 
2、事务日志:包含用户及系统的写操作、不仅包含当前信息,还包含对数据文件所有
 
更新。
 
二、创建数据库的基本语法:
 
如测试代码:
 
create database 数据库物理名称
 
on
 
primary
 
(
 
name='数据库逻辑名称',
 
filename = '物理路径+主数据文件名称.mdf',
 
size=初始大小,
 
maxsize=最大大小,
 
filegrowth=增长大小
 
)
 
,
 
(
 
数据文件2
 
)
 
log on
 
(
 
name='数据库日志文件逻辑名称',
 
filename = '物理路径+日志文件名称.mdf',
 
size=初始大小,
 
maxsize=最大大小,
 
filegrowth=增长大小
 
)
 
,
 
(
 
日志文件2
 
)
 
三、配置文件增长:
 
1、启用自动增长:如果没有启用,当需要增长时,需要手工调整。
 
2、增长方式:按MB或按百分比。
 
3、最大文件大小:文件的最在空间
 
如测试代码:
 
create database NewDb
 
on
 
primary
 
(
 
name='newdb',
 
filename = 'e:\newdb.mdf',
 
size=10MB,
 
maxsize=2GB,
 
filegrowth=5
 
)
 
log on
 
(
 
name='newdblog',
 
filename = 'e:\newdb.ldf',
 
size=5MB,
 
maxsize=1GB,
 
filegrowth=10%
 
)
 
三、使用多个文件
 
数据和事务日志都可以存储在多个文件中,以提高性能和方便增长。
 
注:副(辅助)数据文件的默认扩展名为  .ndf
 
副日志文件的仍为 .ldf
 
同一个表的不同将插入到多个文件中,以均衡每个磁盘的I/0负载,用来提高性能。
 
如:
 
create database NewDb
 
on
 
primary
 
(
 
name='newdb',
 
filename = 'e:\newdb.mdf',
 
size=10MB,
 
maxsize=2GB,
 
filegrowth=5
 
)
 
,
 
(
 
name='newdb2',
 
filename = 'e:\newdb2.ndf'
 
)
 
log on
 
(
 
name='newdblog',
 
filename = 'e:\newdb.ldf',
 
size=5MB,
 
maxsize=1GB,
 
filegrowth=10%
 
)
 
,
 
(
 
name='newdblog2',
 
filename = 'e:\newdb2.ldf'
 
)
 
四、修改现有数据库的文件设置
 
1、添加新文件
 
alter database NewDb
 
add file
 
(
 
name='a',
 
filename='e:\a.ndf'
 
)
 
2、删除旧文件
 
alter database NewDb
 
remove file a
 
五、规划多个文件组
 
文件组是一种组织数据库对象的高级方法,默认情况下,数据库只有一个文件组
 
:主文件组
 
通过将数据库配置成包含多个文件组,可以在指定的文件级组中创建新
 
对象(如:表、索引等)
 
通过这种技术可实现两种策略:
 
1、通过使用多个文件组,可将频繁使用的表或视图存储到多个磁盘子系统中,从而
 
提高性能。
 
2、通过使用多个文件组,可以将静态数据存储在一个文件组,将动态数据存储在其他
 
文件组中。
 
注:规划文件和文件组时,最好将每个文件放在不同的磁盘了系统中。
 
书中作者强烈建议在多个磁盘这间分担I/O负载。
 
1、创建使用文件组的数据库:
 
create database NewDb
 
on
 
primary --文件组1
 
(
 
name='newdb',
 
filename = 'e:\newdb.mdf',
 
size=10MB,
 
maxsize=2GB,
 
filegrowth=5
 
)
 
,
 
filegroup grouptwo --文件组2
 
(
 
name='newdb2',
 
filename = 'e:\newdb2.ndf'
 
)
 
log on
 
(
 
name='newdblog',
 
filename = 'e:\newdb.ldf',
 
size=5MB,
 
maxsize=1GB,
 
filegrowth=10%
 
)
 
,
 
(
 
name='newdblog2',
 
filename = 'e:\newdb2.ldf',
 
size=5MB,
 
maxsize=1GB,
 
filegrowth=10%
 
)
 
2、修改文件组
 
alter database newDB add filegroup groupthree
 
alter database newDB remove filegroup groupthree
 
六、删除数据库
 
Drop database newDB

喜欢0 评分0