数据库详解SQL Server创建

    作者:郝光明更新于: 2021-06-29 12:32:20

    详解SQL Server创建数据库

    这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

    本篇给大家详细介绍SQLServer创建数据库,在创建数据库之前,需要先确定数据库的名称、所有者、大小、存储该数据库的文件和文件组。

    数据库详解SQL Server创建_关系数据库_数据库管理系统_关系型数据库_课课家

     1、创建数据库介绍

    在创建数据库之前,需要先确定数据库的名称、所有者、大小、存储该数据库的文件和文件组。

    数据库所有者:创建数据库的用户。一般情况下,大多数产品对象由数据库所有者拥有。

    2、创建数据库注意事项

    • 创建数据库需要拥有CREATE DATABASE、CREATE ANY DATABASE或ALTER ANY DATABASE权限。
    • 创建数据库的用户将成为该数据库的所有者。
    • 针对一个SQL Server实例,最多可以创建32767个数据库。
    • 数据库名称必须遵循为标识符指定的规则。
    • 在创建新数据库同时,model数据库中的所有用户定义对象都会复制到新创建的数据库中。可以向model数据库中添加任何通用的对象(如表、视图、存储过程和数据类型),然后在创建的数据库可以将这些对象复制到新创建的数据库当中。

    3、创建数据库的语法格式

    语法格式如下:

    1. CREATE DATABASE database_name 
    2.        [ ON 
    3.          [ PRIMARY ] [ <filespec> [ ,...n ] 
    4.          [ , <filegroup> [ ,...n ] ] 
    5.        [ LOG ON { <filespec> [ ,...n ] } ] 
    6.        ] 
    7.        [ COLLATE collation_name ] 
    8.    ][;] 

    参数说明:

    database_name:数据库名称。

    ON:指定以显式定义方式指定存储数据库数据部分的数据文件。

    PRIMARY:指定列表中的主文件。在项中的第一个文件将成为主文件。如果没有指定PRIMARY则默认第一个文件将成为数据库主文件。

    LOG ON:指定存储数据库日志的日志文件。LOG ON后跟着以逗号分隔的用于定义日志文件的项列表。不指定LOG ON,将自动创建一个日志文件,文件大小为该数据库的所有数据文件大小总和的1/4或512 KB,取两者之中的较大者。

    COLLATE collation_name:指定数据库的默认排序规则。排序规则名称包括Windows排序规则、SQL排序规则名称。未指定排序规则,则将SQL Server实例的默认排序规则分配为数据库的排序规则。

    部分主要用于控制文件属性,语法格式如下:

    1.         NAME = logical_file_name , 
    2.         FILENAME = 'os_file_name' 
    3.           [ , SIZE = size [ KB | MB | GB | TB ] ] 
    4.           [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ] 
    5.           [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ] 
    6.     ) [ ,...n ] 

    logical_file_name:指定文件的逻辑名称。logical_file_name必须在数据库中唯一,必须符合规定的标识符规则。

    ' os_file_name ':指定操作系统(物理)文件名称。执行创建数据库语句前,指定文件路径必须存在。如果指定了UNC(通用命名约定)路径,则无法设置SIZE、MAXSIZE和FILEGROWTH参数。

    size:指定文件的初始大小。未指定主文件指定size,数据库引擎将使用model数据库中的主文件的大小。如果指定了辅助数据文件或日志文件,但未指定该文件的size,则数据库引擎将以1 MB作为该文件的大小。

    可以使用千字节(KB)、兆字节(MB)、千兆字节(GB)或兆兆字节(TB)后缀,默认单位为MB。

    max_size:指定文件可增大到的最大值,可以使用KB、MB、GB和TB后缀,默认单位为MB。

    UNLIMITED:指定文件可以增长到磁盘空间已满。在SQL Server中,指定为不限制增长的日志文件的最大值为2 TB,而数据文件的最大值为16 TB。

    growth_increment:指定每次需要新空间时为文件添加的空间量。growth_increment值不能超过MAXSIZE设置值。该值可以使用MB、KB、GB、TB或百分比(%)为单位指定。默认值为MB。growth_increment值为0时表明自动增长被关闭,不允许增加空间。

    如果未指定FILEGROWTH,则数据文件的默认值为1 MB,日志文件的默认增长比例为10%,并且最小值为64 KB。

    部分主要用于控制文件组属性,语法格式如下:

    1. FILEGROUP filegroup_name [ DEFAULT ] 
    2.        <filespec> [ ,...n ] 

    filegroup_name:必须在数据库中唯一,不能是系统提供的名称PRIMARY和PRIMARY_LOG。

    DEFAULT:指定文件组为数据库中的默认文件组。

    4、 创建数据库示例

    1.最简单的创建数据库示例

    1. create database TestDB 

    会根据SQLServer默认设置(文件存储位置、文件增加大小等)创建数据库。

    2.指定数据和事务日志文件的数据库示例

    1. IF DB_ID (N'TestDB'is not null  
    2. -- 判断数据库是否存在如果存在则先删除 
    3.  DROP DATABASE TestDB  
    4.  GO 
    5.  CREATE DATABASE TestDB 
    6.      ON 
    7.      ( NAME = TestDB,-- 逻辑数据库文件名 
    8.          FILENAME = 'D:\\TestDB.mdf'
    9.          SIZE = 10, 
    10.          MAXSIZE = 200, 
    11.          FILEGROWTH = 5 ) 
    12.      LOG ON 
    13.      ( NAME = TestDB_log,-- 逻辑数据库日志文件名 
    14.          FILENAME = 'D:\\TestDB_log.ldf'
    15.          SIZE = 5MB, 
    16.          MAXSIZE = 50MB, 
    17.          FILEGROWTH = 5MB ) ; 

    3.指定多个数据文件和事务日志文件示例

    1. USE master 
    2. GO    
    3. IF DB_ID (N'TestDB'is not null -- 判断数据库是否存在如果存在则先删除 
    4. DROP DATABASE TestDB  
    5. GO 
    6. CREATE DATABASE TestDB 
    7.     ON 
    8.     PRIMARY 
    9.         (NAME = TestDB1, 
    10.         FILENAME = 'd:\\TestDB1.mdf'
    11.         SIZE = 100MB, 
    12.         MAXSIZE = 200, 
    13.         FILEGROWTH = 20), 
    14.         ( NAME = TestDB2, 
    15.         FILENAME = 'd:\\TestDB2.ndf'
    16.         SIZE = 100MB, 
    17.         MAXSIZE = 200, 
    18.         FILEGROWTH = 20) 
    19.     LOG ON 
    20.       (NAME = TestDB_log1, 
    21.         FILENAME = 'd:\\TestDB_log1.ldf'
    22.         SIZE = 30MB, 
    23.         MAXSIZE = 100, 
    24.         FILEGROWTH = 10), 
    25.       (NAME = TestDB_log2, 
    26.         FILENAME = 'd:\\TestDB_log2.ldf'
    27.         SIZE = 100MB, 
    28.         MAXSIZE = 500, 
    29.         FILEGROWTH = 50) ; 

    4.创建具有文件组的数据库下面的语句将创建数据库Sales,该数据库具有以下文件组。

    1. USE master 
    2. GO    
    3. IF DB_ID (N'TestDB'is not null -- 判断数据库是否存在如果存在则先删除 
    4. DROP DATABASE TestDB  
    5. GO 
    6.  CREATE DATABASE  TestDB 
    7.     ON PRIMARY -- 数据库主文件 
    8.     ( NAME = TestDB1, 
    9.         FILENAME = 'd:\\TestDB1.mdf'
    10.         SIZE = 20, 
    11.         MAXSIZE = 100, 
    12.         FILEGROWTH = 10% ), 
    13.     ( NAME = TestDB2, 
    14.         FILENAME = 'd:\\TestDB2.ndf'
    15.         SIZE = 10, 
    16.         MAXSIZE = 50, 
    17.   FILEGROWTH = 5% ), 
    18.     FILEGROUP DBGroup1 
    19.     ( NAME = TestDB3, 
    20.         FILENAME = 'd:\\TestDB3.ndf'
    21.         SIZE = 10, 
    22.         MAXSIZE = 50, 
    23.         FILEGROWTH = 5 ), 
    24.     ( NAME = TestDB4, 
    25.         FILENAME = 'd:\\TestDB4.ndf'
    26.         SIZE = 10, 
    27.         MAXSIZE = 50, 
    28.         FILEGROWTH = 5 ), 
    29.     FILEGROUP DBGroup2 
    30.     ( NAME = DB1_Group2, 
    31.         FILENAME = 'd:\\DB1_Group2.ndf'
    32.         SIZE = 10, 
    33.         MAXSIZE = 50, 
    34.         FILEGROWTH = 5 ), 
    35.     ( NAME = DB2_Group2, 
    36.         FILENAME = 'd:\\DB2_Group2.ndf'
    37.         SIZE = 10, 
    38.         MAXSIZE = 50, 
    39.         FILEGROWTH = 5 ) 
    40.     LOG ON 
    41.     ( NAME = TestDB_log, 
    42.         FILENAME = 'd:\\TestDB_log.ldf'
    43.         SIZE = 50MB, 
    44.         MAXSIZE = 500MB, 
    45.         FILEGROWTH = 10MB ) ; 

    数据库是一个 单位或是一个应用领域的通用数据处理系统,它存储的是属于企业和事业部门、 团体和个人的有关数据的 集合。数据库中的数据是从全局观点出发建立的,按一定的 数据模型进行组织、描述和存储。其结构基于数据间的自然联系,从而可提供一切必要的存取 路径,且数据不再针对某一应用,而是面向全组织,具有整体的结构化特征。

课课家教育

未登录