使用 Alter 修改 Sql Server 数据库

使用下面的语句创建一个样例数据库

sql: Create Database
CREATE DATABASE Accounting
ON
(NAME = 'Accounting',
FILENAME = 'c:Program FilesMicrosoft sql ServerMSsql.1mssqldataAccountingData.mdf',
SIZE = 10MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB)
LOG ON
(NAME = 'AccountingLog',
FILENAME = 'c:Program FilesMicrosoft sql ServerMSsql.1mssqllogAccountingLog.ldf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB)使用sp_helpdb查看创建结果: EXEC sp_helpdb 'Accounting'

假设想要做修改,比如你知道将要向数据库一个很大的导入,而现在的数据库只有15MB大小,容纳不了这么多东西。如果根据数据库自动增长功能,以每次5MB的增长量自动扩大数据库,那么服务器至少将进行16次的再分配,既然已经知道数据量将达100MB,何不一次完成?
使用ALTER DATABASE命令可以做到,最简化的语句如下:

ALTER DATABASE Accounting
MODIFY FILE
(NAME = 'Accounting',
SIZE = 100MB)

使用ALTER DATABASE应注意的地方:
1、上例中,尽管修改后超过了先前的最大大小50MB,但是不会有任何错误,因为我们是显示增加数据库的大小。如果按照原来自动增长的方式会因为大小限制而让导入半途而废。
2、最大值之增长到新的显示值的大小----没有留下自动增长的空间。
3、使用MODIFY修改时,size值必须比当前的大,否则会出现错误:‘MODIFY FILE Failed. Specified size is less than current size.’

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...