ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 使用ALTER修改数据库

使用ALTER修改数据库

原创 Linux操作系统 作者:iSQlServer 时间:2009-10-16 13:13:31 0 删除 编辑
使用下面的语句创建一个样例数据库:

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->CREATE DATABASE Accounting
ON
 (NAME 
= 'Accounting',
  FILENAME 
= 'c:\Program Files\Microsoft SQL Server\MSSQL.1\mssql\data\AccountingData.mdf',
  SIZE 
= 10MB,
  MAXSIZE 
= 50MB,
  FILEGROWTH 
= 5MB)
LOG ON
 (NAME 
= 'AccountingLog',
  FILENAME 
= 'c:\Program Files\Microsoft SQL Server\MSSQL.1\mssql\log\AccountingLog.ldf',
  SIZE 
= 5MB,
  MAXSIZE 
= 25MB,
  FILEGROWTH 
= 5MB)
使用sp_helpdb查看创建结果:
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->EXEC sp_helpdb 'Accounting'


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

<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->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.’

原文地址:http://www.cnblogs.com/lantionzy/archive/2009/10/16/1584367.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16436858/viewspace-616720/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-17

  • 博文量
    1319
  • 访问量
    2073920