zoukankan      html  css  js  c++  java
  • 三,数据库创建与管理

    使用Transact-SQL命令创建数据库

    CREATE DATABASE 数据库名        
    [ON [PRIMARY]  [<数据库逻辑名> [,…n]  [,< 文件组名> [,…n]]  ]
    [LOG ON {<LOG_NAME > [,…n]}]
    [FOR RESTORE]
    FILENAME='数据库物理文件名'
    [,SIZE=size]
    [,MAXSIZE={max_size|UNLIMITED}]
    [,FILEGROWTH=growth_increment] )  [,…n]

    参数说明:

    (1)PRIMARY:该选项是一个关键字,指定主数据库文件,若没有给出这个关键字,则默认文件序列第一个是主数据文件。
    (2)LOG ON:指明事务日志文件的明确定义。
    数据库逻辑名称:这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。
    (3)FILENAME:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和NAME的逻辑名称一一对应。
    (4)SIZE:指定数据库的初始容量大小。
    (5)MAXSIZE:指定操作系统文件可以增长到的最大尺寸。
    (6)FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。

    eg:

      create  database  教学练习      --数据库名称:教学练习
      on primary                     --下面主文件属于主文件组
      (name= 教学练习_data,         --对应数据库第一个逻辑文件名
      filename='d:servermssqldata教学练习_data.mdf', --对应的主文件名和存储位置
      size=20,                         --初始分配的空间
      maxsize=150,                     --指出最大空间为150MB
      filegrowth=10%),                 --空间增长按10%增长
      FILEGROUP stugroup              --指定新的文件组,下面文件属于stugroup文件组
      (name= 教学练习_data1,        --对应数据库第二个逻辑文件名
      filename='d:servermssqldata教学练习_data1.ndf', --对应的第一个次文件名和存储位置
      size=10,                      --初始分配的空间
      maxsize=100,                  --指出最大空间为100MB
      filegrowth=1),                --空间增长按1MB增长
      (name= 教学练习_data2,         --对应数据库第三个逻辑文件名
      filename='d:servermssqldata教学练习_data2.ndf', --对应的第二个次文件名和存储位置
      size=10,                      --初始分配的空间
      maxsize=100,                  --指出最大空间为100MB
      filegrowth=1)                 --空间增长按1MB增长
      log on                           --日志文件
      (name= 教学练习_log,
      filename='d:servermssqldata教学练习_log.ldf',
      size=10,
      maxsize=50,
      filegrowth=1)
    输出结果为:
      CREATE DATABASE 进程正在磁盘 '教学练习_data' 上分配 20.00 MB 的空间。
      CREATE DATABASE 进程正在磁盘 '教学练习_data1' 上分配 10.00 MB 的空间。
      CREATE DATABASE 进程正在磁盘 '教学练习_data2' 上分配 10.00 MB 的空间。
      CREATE DATABASE 进程正在磁盘 '教学练习_log' 上分配 10.00 MB 的空间。

     

    修改数据库

      数据库创建后,主数据文件和日志文件的物理地址就不允许被改变和删除。但数据文件和日志文件的大小、增长方式等属性可以改变,可以增加或删除次数据文件、次日志文件、文件组。

    ALTER DATABASE 数据库名        
        { ADD FILE < filespec > [ ,...n ] [ TO FILEGROUP 文件组名 ]
        | ADD LOG FILE < filespec > [ ,...n ]
        | REMOVE FILE数据库逻辑名
        | ADD FILEGROUP文件组名
        | REMOVE FILEGROUP文件组名
        | MODIFY FILE < filespec >
        | MODIFY NAME =数据库名
        |MODIFY FILEGROUP 文件组名{NAME =新文件组名 }

    参数说明:

    (1)filespec参数定义如下:
       ( NAME =数据库逻辑名
        [ , NEWNAME =新数据库逻辑名]
        [ , FILENAME = '数据库物理文件名' ]
        [ , SIZE = size ]
        [ , MAXSIZE = { max_size | UNLIMITED } ]
        [ , FILEGROWTH = growth_increment ] )
    (2)ADD FILE:指定要添加文件。
    (3)TO FILEGROUP:指定要将指定文件添加到的文件组。
    (4)ADD LOG FILE:指定要将日志文件添加到指定的数据库。
    REMOVE FILE:从数据库系统表中删除文件描述并删除物理文件。只有在文件为空时才能删除。
    (5)ADD FILEGROUP:指定要添加文件组。
    (6)REMOVE FILEGROUP:从数据库中删除文件组并删除该文件组中的所有文件。只有在文件组为空时才能删除。
    (7)MODIFY FILE:指定要更改给定的文件,更改选项包括 FILENAME、SIZE、FILEGROWTH和MAXSIZE。一次只能更改这些属性中的一种。必须在<filespec>中指定数据库逻辑名,以标识要更改的文件。如果指定了SIZE,那么新大小必须比文件当前大小要大。
    (8)SIZE:指定数据库的初始容量大小。
    (9)MAXSIZE:指定操作系统文件可以增长到的最大尺寸。
    (10)FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。

    eg:

      Alter database 教学练习     --修改教学练习数据库
      modify file(           --修改数据文件教学练习_data
        name='教学练习_data',
        maxsize=UNLIMITED
        )
      GO
      Alter database 教学练习
      add file (             --增加数据文件教学练习_add
        name='教学练习_add',
        Filename='d:servermssqldata教学练习_add.mdf',
        Size=5,
        Filegrowth=0             --不允许自动增长
        )
      GO
      Alter database 教学练习
      Remove  file 教学练习_data2    --删除次数据文件教学练习_data2
      GO
      Alter database 教学练习
      Add log file (            --增加日志文件教学练习_addlog
        name='教学练习_addlog',Filename='d:servermssqldata教学练习_addlog.ldf',
        Size=1,

        Maxsize=10,

        Filegrowth=1
        )
      GO

    收缩数据库

      DBCC SHRINKDATABASE

        (database_name [,target_percent]

         [,{NOTRUNCATE} | TRUNCATEONLY]

        )

      参数说明:

    • target_percent:表示当数据库收缩后还剩下的自由空间(可用空间的百分比)。
    • NOTTRUNCATE:被释放的文件空间还保持在数据库文件的范围内,否则释放的空间被系统收回。
    • TRUNCATEONLY:将所有未使用的数据空间释放给操作系统使用。使用该关键字,将忽略target_percent限制。

    查看数据库信息

      (1)查看数据库信息
      Sp_helpdb           --返回所有数据库信息
      Sp_helpdb 数据库名称     --返回当前数据库信息

      (2)查看数据空间使用状况
      Sp_spaceused          --返回当前数据库空间使用情况
      DBCC SQLPERF(LOGSPACE)  --返回所有数据库的日志文件使用情况

    删除数据库

      Drop语句可以从SQL Server中一次删除一个或多个数据库。其语法如下:
      Drop database database_name[,…n]
      删除创建的数据库教学练习。
      语句如下:
      drop database 教学练习         -- 教学练习中所包含的文件都被删除

      

    分离和附加数据库

    脱机和联机数据库

  • 相关阅读:
    散列
    红黑树
    发散二叉搜索树
    二叉搜索树的删除和联结
    平衡树
    二叉搜索树的划分
    在二叉搜索树的根进行插入
    paper169:2020CVPR文章解读:nestedVAE:Isolating common facters via weak supervision
    paper 168: 2018-FATTEN 论文解析-feature space transfer for data augmentation
    paper 167:GPU的使用Theano之tutorial
  • 原文地址:https://www.cnblogs.com/a-qi/p/13046758.html
Copyright © 2011-2022 走看看