ALTER DATABASE.docx

上传人:b****8 文档编号:9309253 上传时间:2023-02-04 格式:DOCX 页数:56 大小:52.56KB
下载 相关 举报
ALTER DATABASE.docx_第1页
第1页 / 共56页
ALTER DATABASE.docx_第2页
第2页 / 共56页
ALTER DATABASE.docx_第3页
第3页 / 共56页
ALTER DATABASE.docx_第4页
第4页 / 共56页
ALTER DATABASE.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

ALTER DATABASE.docx

《ALTER DATABASE.docx》由会员分享,可在线阅读,更多相关《ALTER DATABASE.docx(56页珍藏版)》请在冰豆网上搜索。

ALTER DATABASE.docx

ALTERDATABASE

SQLServer2005联机丛书

ALTERDATABASE(Transact-SQL)

发送反馈

请参阅 

全部折叠全部展开

语言筛选器:

全部语言筛选器:

多语言语言筛选器:

VisualBasic语言筛选器:

C#语言筛选器:

C++语言筛选器:

J#语言筛选器:

JScript

VisualBasic(Declaration)

C#

C++

J#

JScript

修改一个数据库或与该数据库关联的文件和文件组。

在数据库中添加或删除文件和文件组、更改数据库的属性或其文件和文件组、更改数据库排序规则和设置数据库选项。

不能修改数据库快照。

若要修改与复制相关的数据库选项,请使用sp_replicationdboption。

Transact-SQL语法约定

语法

ALTERDATABASEdatabase_name

{

    

  |

  |

  |MODIFYNAME=new_database_name

  |COLLATEcollation_name

}

[;]

:

:

=

{

    ADDFILE[,...n]

        [TOFILEGROUP{filegroup_name|DEFAULT}]

  |ADDLOGFILE[,...n]

  |REMOVEFILElogical_file_name

  |MODIFYFILE

}

:

:

=

    NAME=logical_file_name

    [,NEWNAME=new_logical_name]

    [,FILENAME='os_file_name']

    [,SIZE=size[KB|MB|GB|TB]]

    [,MAXSIZE={max_size[KB|MB|GB|TB]|UNLIMITED}]

    [,FILEGROWTH=growth_increment[KB|MB|GB|TB|%]]

    [,OFFLINE]

:

:

=

{

    |ADDFILEGROUPfilegroup_name

    |REMOVEFILEGROUPfilegroup_name

    |MODIFYFILEGROUPfilegroup_name

        {

        |DEFAULT

        |NAME=new_filegroup_name

        }

}

:

:

=

{

    {READONLY|READWRITE}

    |{READ_ONLY|READ_WRITE}

}

:

:

=

SET

{

    {[,...n][WITH]}

    |ALLOW_SNAPSHOT_ISOLATION{ON|OFF}

    |READ_COMMITTED_SNAPSHOT{ON|OFF}[WITH]

}

:

:

=

{

    

  |

  |   |

  |

  |

  |

  |

  |

  |

  |

  |

|

}

:

:

=

    { ONLINE|OFFLINE|EMERGENCY}

:

:

=

    { SINGLE_USER|RESTRICTED_USER|MULTI_USER}

:

:

=

    { READ_ONLY|READ_WRITE}

:

:

=

    DB_CHAINING{ON|OFF}

  | TRUSTWORTHY{ON|OFF}

}

:

:

=

{   CURSOR_CLOSE_ON_COMMIT{ON|OFF}

  |CURSOR_DEFAULT{LOCAL|GLOBAL}

}

:

:

=

{

    AUTO_CLOSE{ON|OFF}

  |AUTO_CREATE_STATISTICS{ON|OFF}

  |AUTO_SHRINK{ON|OFF}

  |AUTO_UPDATE_STATISTICS{ON|OFF}

  |AUTO_UPDATE_STATISTICS_ASYNC{ON|OFF}

}

:

:

=

{

    ANSI_NULL_DEFAULT{ON|OFF}

  |ANSI_NULLS{ON|OFF}

  |ANSI_PADDING{ON|OFF}

  |ANSI_WARNINGS{ON|OFF}

  |ARITHABORT{ON|OFF}

  |CONCAT_NULL_YIELDS_NULL{ON|OFF}

  |NUMERIC_ROUNDABORT{ON|OFF}

  |QUOTED_IDENTIFIER{ON|OFF}

  |RECURSIVE_TRIGGERS{ON|OFF}

}

:

:

=

{

    RECOVERY{FULL|BULK_LOGGED|SIMPLE}

  |TORN_PAGE_DETECTION{ON|OFF}

  |PAGE_VERIFY{CHECKSUM|TORN_PAGE_DETECTION|NONE}

}

:

:

=

{|}

    :

:

=

    PARTNER{='partner_server'

            |FAILOVER

            |FORCE_SERVICE_ALLOW_DATA_LOSS

            |OFF

            |RESUME

            |SAFETY{FULL|OFF}

            |SUSPEND

            |REDO_QUEUE(integer{KB|MB|GB}|UNLIMITED)

            |TIMEOUTinteger

            }

:

:

=

    WITNESS{='witness_server'

            |OFF

            }

:

:

=

    SUPPLEMENTAL_LOGGING{ON|OFF}

:

:

=

{

    ENABLE_BROKER

  | DISABLE_BROKER

  | NEW_BROKER

  | ERROR_BROKER_CONVERSATIONS

}

:

:

=

{

    DATE_CORRELATION_OPTIMIZATION{ON|OFF}

}

:

:

=

{

    PARAMETERIZATION{SIMPLE|FORCED}

}

:

:

=

{

    ROLLBACKAFTERinteger[SECONDS]

  |ROLLBACKIMMEDIATE

  |NO_WAIT

}

备注

若要删除数据库,请使用DROPDATABASE。

若要重命名数据库,请在ALTERDATABASE中使用MODIFYNAME=new_database_name选项。

若要减小数据库的大小,请使用DBCCSHRINKDATABASE。

当BACKUP语句正在运行时,不能添加或删除文件。

可以为每个数据库指定最多32,767个文件和32,767个文件组。

ALTERDATABASE语句必须在自动提交模式(默认事务管理模式)下运行,且不允许用于显式或隐式事务中。

有关详细信息,请参阅自动提交事务。

在SQLServer2005中,对数据库文件状态(例如,联机或脱机)的维护是独立于数据库状态而进行的。

有关详细信息,请参阅文件状态。

文件组中文件的状态决定整个文件组的可用性。

文件组中的所有文件都必须联机,文件组才可用。

如果文件组脱机,则使用SQL语句访问文件组的所有尝试都会失败并报告错误。

在为SELECT语句生成查询计划时,查询优化器会避免驻留在脱机文件组中的非聚集索引和索引视图。

这样,这些语句就会成功。

但是,如果脱机文件组包含目标表的堆或聚集索引,SELECT语句将失败。

此外,如果INSERT、UPDATE或DELETE语句修改的表的索引包含在脱机文件组中,这些语句将失败。

设置选项

若要检索数据库选项的当前设置,请使用sys.databases目录视图或DATABASEPROPERTYEX。

有关最初创建数据库时所分配的默认值列表,请参阅设置数据库选项。

设置数据库选项后,修改将立即生效。

若要更改所有新创建数据库的任意数据库选项的默认值,请更改model数据库中的适当数据库选项。

并非所有数据库选项都使用WITH子句,或可以结合其他选项指定。

下表列出这些选项以及它们的选项和终止状态。

选项类别

可与其他选项一起指定

可使用WITH子句

db_update_option>

ALLOW_SNAPSHOT_ISOLATION

READ_COMMITED_SNAPSHOT

DATE_CORRELATION_OPTIMIZATION

UNIVERSAL_PARAMETERIZATION

移动文件

在SQLServer2005中,可通过在FILENAME中指定新位置来移动系统或用户定义的数据和日志文件。

这在下列情况下可能很有用:

∙故障恢复。

例如,数据库处于可疑模式或因硬件故障而关闭。

∙预先安排的重定位。

∙为预定的磁盘维护操作而进行的重定位。

有关详细信息,请参阅移动数据库文件。

初始化文件

默认情况下,在执行下列操作之一时,将通过在文件中填充零来初始化数据和日志文件。

∙创建数据库。

∙向现有数据库添加文件。

∙增加现有文件的大小。

∙还原数据库或文件组。

在SQLServer2005中,可以在瞬间对数据文件进行初始化。

这样,可以快速执行这些文件操作。

有关详细信息,请参阅数据库文件初始化。

更改数据库排序规则

在对数据库应用不同排序规则之前,请确保已满足下列条件:

1.您是当前数据库的唯一用户。

2.没有依赖数据库排序规则的架构绑定对象。

如果数据库中存在下列依赖数据库排序规则的对象,则ALTERDATABASEdatabase_nameCOLLATE语句将失败。

SQLServer将针对每一个阻塞ALTER操作的对象返回一个错误消息:

∙通过SCHEMABINDING创建的用户定义函数和视图。

∙计算列。

∙CHECK约束。

∙表值函数返回包含字符列的表,这些列继承了默认的数据库排序规则。

3.改变数据库的排序规则不会在任何数据对象的系统名称中产生重复名称。

如果改变排序规则后出现重复的名称,则下列命名空间可能导致改变数据库排序规则的操作失败:

∙对象名,如过程、表、触发器或视图。

∙架构名称

∙主体,例如组、角色或用户。

∙标量类型名,如系统和用户定义类型。

∙全文目录名称。

∙对象内的列名或参数名。

∙表范围内的索引名。

由新的排序规则产生的重复名称将导致更改操作失败,SQLServer将返回错误消息,指出重复名称所在的命名空间。

查看数据库信息

可以使用目录视图、系统函数和系统存储过程返回有关数据库、文件和文件组的信息。

有关详细信息,请参阅查看数据库元数据。

参数

database_name

要修改的数据库的名称。

MODIFYNAME=new_database_name

使用指定的名称new_database_name重命名数据库。

COLLATEcollation_name

指定数据库的排序规则。

collation_name既可以是Windows排序规则名称,也可以是SQL排序规则名称。

如果不指定排序规则,则将SQLServer实例的排序规则指定为数据库的排序规则。

有关Windows和SQL排序规则名称的详细信息,请参阅COLLATE(Transact-SQL)。

:

:

=

指定要添加、删除或修改的文件。

ADDFILE

将文件添加到数据库。

TOFILEGROUP{filegroup_name|DEFAULT}

指定要将指定文件添加到的文件组。

如果指定了DEFAULT,则将文件添加到当前的默认文件组中。

若要显示当前文件组和当前的默认文件组,请使用sys.filegroups目录视图。

ADDLOGFILE

将要添加的日志文件添加到指定的数据库。

REMOVEFILElogical_file_name

从SQLServer的实例中删除逻辑文件说明并删除物理文件。

除非文件为空,否则无法删除文件。

logical_file_name

在SQLServer中引用文件时所用的逻辑名称。

MODIFYFILE

指定应修改的文件。

一次只能更改一个属性。

必须在中指定NAME,以标识要修改的文件。

如果指定了SIZE,那么新大小必须比文件当前大小要大。

若要修改数据文件或日志文件的逻辑名称,请在NAME子句中指定要重命名的逻辑文件名称,并在NEWNAME子句中指定文件的新逻辑名称。

例如:

复制代码

MODIFYFILE(NAME=logical_file_name,NEWNAME=new_logical_name)

若要将数据文件或日志文件移至新位置,请在NAME子句中指定当前的逻辑文件名称,并在FILENAME子句中指定新路径和操作系统文件名称。

例如:

复制代码

MODIFYFILE(NAME=logical_file_name,FILENAME='new_path/os_file_name')

在移动全文目录时,请只在FILENAME子句中指定新路径。

不要指定操作系统文件名称。

有关详细信息,请参阅移动数据库文件。

:

:

=

控制文件属性。

NAMElogical_file_name

指定文件的逻辑名称。

logical_file_name

在SQLServer的实例中引用文件时所用的逻辑名称。

NEWNAMEnew_logical_file_name

指定文件的新逻辑名称。

new_logical_file_name

用于替换现有逻辑文件名称的名称。

该名称在数据库中必须唯一,并应符合标识符规则。

该名称可以是字符或Unicode常量、常规标识符或定界标识符。

有关详细信息,请参阅使用标识符作为对象名称。

FILENAME'os_file_name'

指定操作系统(物理)文件名称。

'os_file_name'

创建文件时操作系统使用的路径和文件名。

该文件必须驻留在安装SQLServer的服务器上。

在执行ALTERDATABASE语句前,指定的路径必须已经存在。

如果为该文件指定了UNC路径,则无法设置SIZE、MAXSIZE和FILEGROWTH参数。

不应将数据文件放在压缩文件系统中,除非这些文件是只读辅助文件或该数据库是只读的。

日志文件决不要放在压缩文件系统中。

有关详细信息,请参阅只读文件组。

如果文件位于原始分区上,则os_file_name必须仅指定现有原始分区的驱动器号。

每个原始分区上只能存放一个文件。

SIZEsize

指定文件大小。

size

文件的大小。

与ADDFILE一起指定时,size是文件的初始大小。

与MODIFYFILE一起指定时,size是文件的新大小,而且必须大于文件的当前大小。

如果没有为主文件提供size,则SQLServer2005DatabaseEngine 将使用model数据库中的主文件的大小。

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

后缀KB、MB、GB和TB可用于指定千字节、兆字节、千兆字节或兆兆字节。

默认为MB。

指定整数,不包含小数。

若要指定兆字节的分数,应通过乘以数字1024将该值转换为千字节。

例如,应指定1536KB而不是1.5MB(1.5x1024=1536)。

MAXSIZE{max_size|UNLIMITED}

指定文件可增大到的最大文件大小。

max_size

最大的文件大小。

后缀KB、MB、GB和TB可用于指定千字节、兆字节、千兆字节或兆兆字节。

默认为MB。

指定整数,不包含小数。

如果未指定max_size,则文件大小将一直增,直至磁盘已满。

UNLIMITED

指定文件将增长到磁盘充满。

在SQLServer2005中,指定为不限制增长的日志文件的最大大小为2TB,而数据文件的最大大小为16TB。

FILEGROWTHgrowth_increment

指定文件的自动增量。

文件的FILEGROWTH设置不能超过MAXSIZE设置。

growth_increment

每次需要新空间时为文件添加的空间量。

该值可以MB、KB、GB、TB或百分比(%)为单位指定。

如果未在数字后面指定MB、KB或%,则默认值为MB。

如果指定%,则增量大小为发生增长时文件大小的指定百分比。

指定的大小舍入为最接近的64KB的倍数。

如果值为0,则表明自动增长被设置为关闭,且不允许增加空间。

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

注意:

在SQLServer2005中,数据文件的默认增量已从10%更改为1MB。

日志文件的默认值仍然为10%。

OFFLINE

将文件设置为脱机并使文件组中的所有对象都不可访问。

注意:

仅当文件已损坏但可以还原时,才能使用该选项。

对于设置为OFFLINE的文件,只有通过从备份中还原该文件,才能将其设置为联机。

有关还原单个文件的详细信息,请参阅RESTORE(Transact-SQL)。

:

:

=

在数据库中添加、修改或删除文件组。

ADDFILEGROUPfilegroup_name

将文件组添加到数据库。

REMOVEFILEGROUPfilegroup_name

从数据库中删除文件组。

除非文件组为空,否则无法将其删除。

首先通过将所有文件移至另一个文件组来删除文件组中的文件,如果文件为空,则可通过删除文件实现此目的。

MODIFYFILEGROUPfilegroup_name,{,|DEFAULT,|NAME=new_filegroup_name,}

通过将状态设置为READ_ONLY或READ_WRITE、将文件组设置为数据库的默认文件组或者更改文件组名称来修改文件组。

对文件组设置只读或读/写属性。

DE

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1