基本概念
  • 主要数据文件(.mdf)
        主要数据文件包含数据库的启动信息,并指向数据库中的其他文件,用户数据和对象可存储在此文件中,一个数据库只有一个主数据文件。
        主要数据文件由主文件组中的初始数据文件组成。
        文件组是经过命名的数据文件集合。包含所有数据库系统表,以及没有赋给自定义文件组的对象和数据。主要数据文件是数据库的起始点,它指向数据库中的其他文件。每一个数据库都有一个主要数据文件和一个主文件组,主要数据文件的扩展名是.mdf 。

  • 次要数据文件(.ndf)
        次要数据文件可选,由用户定义并存储用户数据,主要用与数据分散和保证数据库持续增长。
        次要数据文件,一些数据库可能因为太大而需要很多次要数据文件,也可能在多个独立的磁盘驱动器上使用次要数据文件,以把数据分布在多个磁盘上。次要数据文件可以放在主文件组中,也可以放在自定义文件组中。次要数据文件的扩展名是.ndf 。

  • 事务日志文件(.ldf)
        保存用于恢复数据库的日志信息。每个数据库至少有一个日志文件。
        事务日志文件Transaction Log File,扩展名为ldf,它是数据库结构中非常重要却又常被忽视的部分。它是用来记录数据库更新情况的文件,它可以记录针对数据库的任何操作,并将记录的结果保存到独立的文件中。对于每一次数据库更新的过程,事务日志文件都有非常全面的记录。根据这些记录可以恢复数据库更新前的状态。
        出于性能上的考虑,SQL Server将用户的改动存入缓存中,这些改变会立即写入事务日志,但不会立即写入数据文件。事物日志会通过一个标记点来确定某个事物是否已将缓存中的数据写入数据文件。当SQL Server重启后,它会查看日志中最新的标记点,并将这个标记点后面的事物记录抹去,因为这些事物记录并没有真正的将缓存中的数据写入数据文件。这可以防止那些中断的交易修改数据文件。

  • 文件组
        SQL文件组就是文件的逻辑集合。它的目的是为了方便数据的管理和分配。文件组可以把指定的文件组合在一起。
        在首次创建数据库,或者以后将更多文件添加到数据库时,可以创建文件组。但是,一旦将文件添加到数据库,就不可能再将这些文件移到其它文件组。
    一个文件不能是多个文件组的成员。表格、索引以及 text、ntext 和 image 数据可以与特定的文件组相关联。这意味着它们的所有页都将从该文件组的文件中分配。
        1. 主文件组(PRIMARY)
         存放主数据文件和任何没有明确指定文件组的其他文件。
        2. 用户定义文件组
         是在创建或修改数据库时用FILEGROUP关键字定义的文件组,存放辅数据文件。
        文件组特性:
        (1)一个文件只能属于一个文件组。
        (2)只有数据文件才能归属于某个文件组,日志文件不属于任何文件组。
        (3)每个数据库中都有一个默认的文件组在运行,可以指定默认文件组,没有指定的话,则默认为主文件组。
        (4)若没有用户定义文件组,则所有的数据文件都存放在主文件组中。

使用SSMS工具创建
  1. 连接到数据库
    SQL Server 2012 创建数据库
  2. 在“对象管理器”中右击“数据库”,然后选择“新建数据库”
    SQL Server 2012 创建数据库
  3. 在“新建数据库”对话框中,选择常规选项卡,在数据库名称中填入要创建的数据库名称,此时会自动创建一个主要数据文件和一个事务日志文件。逻辑名称可以自己修改
    SQL Server 2012 创建数据库
  4. 右击“自动增长/最大大小”列中的“…”设置数据文件增长方式
    SQL Server 2012 创建数据库
    SQL Server 2012 创建数据库
  5. 右击“路径”列中的“…”设置文件保存路径
    SQL Server 2012 创建数据库
    SQL Server 2012 创建数据库
  6. 完成后,点击确定按钮,服务器开始创建数据库,并可以在“对象资源管理器”窗口中看到创建的数据库。
    SQL Server 2012 创建数据库
  7. 如果没有,请刷新数据库。
    SQL Server 2012 创建数据库
使用SQL语言创建
  1. 在SSMS工具栏中单击“新建查询”,打开“SQL编辑器”窗口
    SQL Server 2012 创建数据库
  2. 输入创建SQL代码
USE master
IF (EXISTS(SELECT * FROM sysdatabases WHERE name ='schoolDB'))    --检查schoolDB是否存在
  DROP DATABASE schoolDB                 --如果已经存在schoolDB数据库,则删除schoolDB
GO
CREATE DATABASE schoolDB                                      --数据库名为schoolDB
ON PRIMARY            
(
 NAME = schoolDB,                                          --主数据文件逻辑名称
 FILENAME = 'E:\school\schoolDB.mdf',   --数据文件路径及物理名称(E:\school路径需存在)
 SIZE = 5MB,                                                       --初始大小
 MAXSIZE = UNLIMITED,                                             --最大尺寸
 FILEGROWTH = 1MB                                         --自动增长的增量
)
LOG ON
( 
NAME = schoolDB_log,                                         --日志文件逻辑名称
FILENAME = 'E:\school\schoolDB_log.ldf', --日志文件路径及物理名称(E:\school路径需存在)
SIZE = 2MB,                                                        --初始大小
MAXSIZE = 4MB,                                                    --最大尺寸
FILEGROWTH = 10%                                           --自动增长的增量
)
  1. 点击“分析”按钮,或按住Ctrl+F5,对SQL代码进行语法分析,确保SQL语句语法正确。
    SQL Server 2012 创建数据库
  2. 点击“执行”按钮,或按住F5,执行SQL代码。
    SQL Server 2012 创建数据库
  3. 完成后,点击确定按钮,服务器开始创建数据库,并可以在“对象资源管理器”窗口中看到创建的数据库。
    SQL Server 2012 创建数据库
  4. 如果没有,请刷新数据库。
    SQL Server 2012 创建数据库



相关文章: