使用ALTER修改資料庫

iSQlServer發表於2009-10-16
使用下面的語句建立一個樣例資料庫:
使用ALTER修改資料庫
<!--

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

--&gtCREATE 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/

--&gtEXEC sp_helpdb 'Accounting'


假設想要做些修改,比如你知道將要向資料庫做一個很大的匯入,而現在的資料庫只有15MB大小,容納不了這麼多東西。如果根據資料庫的自動增長功能,以每次5MB的增長量自動擴大資料庫,那麼伺服器至少將進行16次的再分配,既然已經知道資料量將達100MB,何不一次完成?
使用ALTER DATABASE命令可以做到,最簡化的語句如下:

<!--

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

--&gtALTER 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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章