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 | |
![]() | ![]() |