灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3486回复:0

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

楼主#
更多 发布于:2013-06-17 11:09
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
游客

返回顶部