数据库的更改:
使用“ALTER DATABASE”命令对数据库修改的语法格式:
ALTER DATABASE database_name
{ ADD FILE <filespec> [ , … n]
[ TO FILEGROUP
{ filegroup_name | DEFAULT} ] /*在文件组中增加数据文件*/
| ADD LOG FILE
<filespec> [, … n] /*增加日志文件*/
| REMOVE FILE
logical_file_name /*删除数据文件*/
| ADD FILEGROUP
filegroup_name /*增加文件组*/ |
REMOVE FILEGROUP
filegroup_name /*删除文件组*/
| MODIFY FILE
<filespec> /*更改文件属性*/
| MODIFY NAME =
new_dbname /*数据库更名*/
| MODIFY FILEGROUP
filegroup_name
{filegroup_property
| DEFAULT | NAME = new_filegroup_name }
| COLLATE <
collation_name > /*指定数据库排序规则*/ }
[;]
<filespec>::= ( NAME = logical_file_name
[ , NEWNAME =new_logical_name ]
[ , FILENAME ='os_file_name' ]
[ , SIZE = size ]
[ , MAXSIZE = {max_size | UNLIMITED } ]
[ , FILEGROWTH =growth_increment ]
[ , OFFLINE ] )
参数说明:
database_name
:要修改的数据库的名称。
ADD FILE
:将文件添到数据库。
TO FILEGROUP { filegroup_name | DEFAULT
}:指定要将指定文件添加到的文件 组。如果指定了 DEFAULT,则将文件添加到当前的默认文件组中。
ADD LOG FILE
:将要添加的日志文件添加到指定的数据库。 —
REMOVE FILE logical_file_name
:从 SQL Server 的实例中删除逻辑文件说明并删除物理文件。除非文件为空,否则无法删除文件
。 logical_file_name :在 SQL Server 中引用文件时所用的逻辑名称。
MODIFY FILE
:指定应修改的文件。一次只能更改一个属性。必须在 中指定NAME,以标识要修改的文件。如果指定了 SIZE,那么新大小 必须比文件当前大小要大。
若要修改数据文件或日志文件的逻辑名称,请在 NAME 子句中指定要重命名 的逻辑文件名称,并在 NEWNAME子句中指定文件的新逻辑名称。例如: MODIFY FILE ( NAME = logical_file_name, NEWNAME =
new_logical_name )
若要将数据文件或日志文件移至新位置,请在 NAME 子句中指定当前的逻辑 文件名称,并在 FILENAME子句中指定新路径和操作系统文件名称。例如: MODIFY FILE (NAME= logical_file_name, FILENAME=
’ new_path/os_file_name ’ ) 在移动全文目录时,请只在 FILENAME 子句中指定新路径。不要指定操作系 统文件名称。
ADD FILEGROUP filegroup_name
:将文件组添加到数据库。
REMOVE FILEGROUP filegroup_name
:从数据库中删除文件组。除非文件组为空,否则无法将其删除
。首先通过将所有文件移至另一个文件组来删除文件组中的文 件,如果文件为空,则可通过删除文件实现此目的。
MODIFY NAME
= new_database_name:使用指定的名称 new_database_name 重命名 数据库。
MODIFY FILEGROUP filegroup_name
, { <filegroup_updatability_option> ,
| DEFAULT, | NAME = new_filegroup_name , }:通过将状态设置为 READ_ONLY 或READ_WRITE、将文件组设置为数据库的默认文件组或者更改文件组名称来修改文 件组。
<filegroup_property >
:对文件组设置只读或读/写属性。
DEFAULT
:将默认数据库文件组更改为 filegroup_name。数据库中只能有一个文件组作为默认文件组。有关详细信息,请参阅了解文件和文件组。
NAME = new_filegroup_name
:将文件组名称更改为 new_filegroup_name。
COLLAT
E collation_name:指定数据库的排序规则
代码操作:
/*:修改数据库 DB001 现有数据文件的属性,
将主数据文件的最大大小改为 100MB, 增长方
式改为按每次 5MB 增长。 */
alter database DB001
modify file
(
name=DB001_Data,
maxsize=100MB,
filegrowth=5MB
)
go
/*先为数据库 TEST1 增加数据文件 TEST1BAK,然后删除该数据文件*/
alter database DB001
add file
(
name='DB001Bak',
filename='E:\Test\DB001Bak.ndf',
size=10MB,
maxsize=20MB,
filegrowth=5%
)
/*删除数据文件 TEST1BAK */
alter database DB001
remove file DB001Bak
go
/*为数据库 TEST1 添加文件组 FGROUP,
并为此文件组添加两个大小均为 10MB 的数据文件*/
alter database DB001
add filegroup fgroup
go
alter database DB001
add file
(
name='DB001_data1',
filename='E:\Test\DB001_data1.ndf',
size=10MB,
maxsize=25MB,
filegrowth=1MB
),
(
name='DB001_data2',
filename='E:\Test\DB001_data2.ndf',
size=5MB,
filegrowth=1MB
)
to filegroup fgroup
go
--从数据库中删除文件组
alter database DB001
remove file DB001_data2
go
alter database DB001
remove file DB001_data1
go
alter database DB001
remove filegroup fgroup
go
--为数据库 DB001 添加一个日志文件
alter database DB001
add log file
(
name='DB001_log2',
filename='E:\Test\DB001_log2.ldf',
size=10MB,
maxsize=25MB,
filegrowth=2MB
)
go
--从数据库 DB001 中删除一个日志文件
alter database DB001
remove file DB001_log2
go
alter database just_DB001
modify name=DB001
go
--删除数据库
drop database DB001
go
Attention:在数据修改操作中必须先删除组内的文件才能删除组,否则无法删除组;在删除文件时,无法删除主文件和主日子文件的。