SQL Server数据库之数据库的创建、修改、查看、删除及分离与附加的方法讲解

一、创建数据库

数据库在磁盘上是以文件为单位存储的。由数据文件和事务日志文件组成,一个数据库至少应该包含一个数据文件和事务日志文件。

         SQL Server数据库文件

         ① 主要数据文件(primary file):用来存储数据库的数据和数据库的启动信息,其默认扩展名为.mdf。主要数据文件是SQL Server 数据库的主体,它是每个数据库不可缺少的部分,而且每个数据库只能有一个主要数据文件。

        ② 次要数据文件(secondaryfile):用来存储主要数据文件没存储的其他数据,其默认扩展名为.ndf。使用次要数据文件可以扩展存储空间。

        ③ 事务日志文件(transactionlog):用来记录数据库更新情况的文件,其默认扩展名为.ldf。每个数据库至少要有一个事务日志文件。

         SQL Server的数据库文件组

         文件组(FileGroup)是将多个数据库文件集合起来形成的一个整体。在SQL Server中允许对文件进行分组,以便于管理数据的分配或放置。

文件组分为主文件组(Primary File Group)和次文件组(Secondary File Group)。

         文件和文件组的设计规则:

         ① 文件或文件组不能由一个以上的数据库使用。例如,文件 stums.mdf 和stums.ndf 包含stums数据库中的数据和对象,任何其它数据库都不能使用这两个文件;

         ② 一个文件只能存在于一个文件组中;

         ③ 数据和事务日志信息不能属于同一文件或文件组;

         ④ 事务日志文件不能属于任何文件组。

代码范例:

create database stunew

on

(

name=stunew_data,//逻辑名

filename=’d:\SQL Server\stunew_data.mdf’,//保存在磁盘中的文件名

size=1mb,

maxsize=20mb,

filegrowth=10%

)

(

name=stunew_data1,

filename=’d:\SQL SERVER\stunew_data1.ndf’,

size=10mb,

maxsize=20mb,

filegrowth=10%

)

log on

(

name=stunew_log,

filename=’d:\SQL SERVER\stunew_log.ldf’,

size=10mb,

maxsize=20mb,

filegrowth=10%

)

_____________________________________________________________________________________________________________________________

使用系统存储过程查看数据库信息

        sp_helpdb:查看有关数据库和数据库参数信息。

        sp_spaceused:查看数据库空间信息。

        sp_dboption:查看数据库选项信息。

代码如下:

        EXEC  sp_helpdb  ‘STUMS’

        EXEC  sp_spaceused

        EXEC  sp_dboption   ‘STUMS’

__________________________________________________________________________________________________________________________________

使用ALTER DATABASE语句修改数据库

ALTER DATABASE <数据库名>

{ ADD FILE  <数据文件名> [,…n] [ TO FILEGROUP  <文件组名> ]

| ADD LOG FILE <日志文件名> [,…n ]

| REMOVE FILE <逻辑文件名>

| MODIFY FILE <数据文件>

| ADD FILEGROUP <文件组名>

| REMOVE FILEGROUP <文件组名>

| MODIFY FILEGROUP <文件组名> { 文件组属性| NAME=<新文件组名>}

}

代码范例:

ALTER DATABASE STUMS

    ADD FILE

    (NAME=STUMS_data1,

    FILENAME=’D:\SQL\STUMS_data1.ndf’,

    SIZE=5MB,

    MAXSIZE=100MB,

    FILEGROWTH=10% )

    GO  

ALTER DATABASE STUMS

MODIFY FILE

(NAME=STUMS,

 SIZE=35MB,

 MAXSIZE=100MB,

 FILEGROWTH=5MB)

GO

ALTER DATABASE STUMS

REMOVE FILE STUMS_data1

GO

ALTER DATABASE STUMS

ADD LOG FILE

(NAME=STUMS_log2,

FILENAME=’D:\SQL\STUMS_log2.ldf’,

SIZE=3MB)

GO

____________________________________________________________________________________________________

缩减数据库容量

 1.自动收缩数据库容量

   使用ALTERDATABASE语句可以实现用户数据库容量的自动收缩。其语法格式如下:

   ALTER DATABASE <数据库名>

   SET AUTO_SHRINK ON/OFF

   参数说明:

   ON:将数据库设为自动收缩。

   OFF:将数据库设为不自动收缩。

 2.手动收缩数据库容量

     DBCC SHRINKDATABASE(database_name[,new_size

[,’MASTEROVERRIDE’]])

         其中,

          database_name:是要缩减容量的数据库名称。

          new_size:指明要缩减数据库容量至多少,如果不指定,将缩到最小容量。

         MASTEROVERRIDE:是指缩减master数据库。

         使用权限默认为dbo。

____________________________________________________________________________________________________

使用sp_renamedb重命名数据库

             EXECsp_renamedb oldname,newname

        其中,EXEC为执行命令语句;sp_renamedb为系统存储过程;oldname为更改前的数据库名;newname为更改后的数据库名。

代码示例:EXEC  sp_renamedb ‘STUNEW’,’STU_123‘

____________________________________________________________________________________________________

删除数据库

         1)使用T-SQL语句删除数据库

      (1)用DROP语句删除数据库

        DROPDATABASE database_name[,database_name…]

        其中,

        DROPDATABASE:表示删除数据库;

        database_name:为要删除的数据库名称。

  代码示例:

           DROP DATABASRE stums_1

       (2)用sp_dbremove系统存储过程删除数据库

          EXEC sp_dbremove database_name

        其中,database_name为要删除的数据库名称。

____________________________________________________________________________________________________

分离数据库

         分离数据库将从SQLServer 移除数据库,但是保持在组成该数据库的数据和事务日志文件中的数据完好无损

          exec sp_detach_db  STUMS

附加数据库

        附加数据库的工作是分离数据库的逆操作,通过附加数据库,可以将分离出去的数据库重新加入SQLSever服务器。

CREATE DATABASEstudentsys

ON( FILENAME=’D:\sql数据库\JX.mdf’)

LOG ON( FILENAME=’D:\sql数据库\JX.ldf’)

FOR ATTACH

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐