幾行代碼創(chuàng)建屬于你自己的SQL數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫有多重方法,如可以使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫,也可以使用向?qū)?chuàng)建數(shù)據(jù)庫。上面兩種方法操作都很簡單,但卻有一個很大的缺點就是他很難大規(guī)模重復(fù)。換句話說,如果你創(chuàng)建一個準(zhǔn)備重新分布到世界各地的數(shù)據(jù)庫,對于一個沒有經(jīng)驗的用戶來說,應(yīng)付SQL企業(yè)管理器并建立數(shù)據(jù)庫并不是一件容易的事。于是為了解決我們上面所說的難題,用T-SQL語句創(chuàng)建數(shù)據(jù)庫的方法變應(yīng)運而生。
在講語法之前我先給大家介紹下什么是數(shù)據(jù)庫文件。數(shù)據(jù)庫文件說簡單點就是存儲我們所需要的數(shù)據(jù)庫的數(shù)據(jù),或者事務(wù)日志。就好比文件夾是為了存儲文件一樣。
在SQL Sever中有如下三種類型的數(shù)據(jù)庫文件:
數(shù)據(jù)庫文件類型 | 描述 |
主數(shù)據(jù)庫文件 | 是所有數(shù)據(jù)庫的起點。這些文件不僅包含數(shù)據(jù)庫用戶收集的信息,還包含了數(shù)據(jù)庫中所有其他文件的有關(guān)信息。每個數(shù)據(jù)庫都有一個主數(shù)據(jù)庫文件。主數(shù)據(jù)庫文件的擴(kuò)展名默認(rèn)并推薦使用.mdf。 |
輔數(shù)據(jù)庫文件 | 顧名思義它其實是那些你增加到數(shù)據(jù)庫中的其他任何數(shù)據(jù)庫文件。增加它們可以用來為數(shù)據(jù)庫增大容量。不是所有的數(shù)據(jù)庫都有輔數(shù)據(jù)庫文件,但是如果想要你的數(shù)據(jù)庫文件延伸到多個物理磁盤上,就需要有輔數(shù)據(jù)庫文件。它的擴(kuò)展名默認(rèn)使用.ndf。 |
日志文件 | 用來保存數(shù)據(jù)庫的事務(wù)日志。每個數(shù)據(jù)庫至少有一個日志文件。日志文件的擴(kuò)展名使用.ldf。 |
那接下來讓我們認(rèn)識Create Database語句的語法:
CREATE DATABASE <database_name> On [primary] [<filespec> [,…n] ] [,<filegroup> [,…n] ] [LOG ON {<filespec> [,…n] } ] [FOR LOAD | FOR ATTCH ] |
上面幾句就是創(chuàng)建數(shù)據(jù)庫最基本的語法,很簡單吧。但是里面有些選項還是需要我們慢慢講來的。
其中的兩個選項<filespec>和<filegroup>是什么意思呢?簡單的說他們分別代表了創(chuàng)建一個文件和一個文件組所需要的信息,可能很難懂吧,不用著急我們看下面它們兩個的語法。
<filespec>::= ( [NAME=logical_file_name,] FILENAME='os_file_name' [,SIZE=size] [,MAXSIZE={max_size | UNLIMITED}] [,FILEGROWTH=growth_increment]) [,…n] <filegroupspec>::= FILEGROUP filegroup_name <filespec> [,…n] |
在SIZE、MAXSIZE、FILEGROWTH中如果大小的單位是兆字節(jié)(MB),則該單位可以省略,也就是說兆字節(jié)是缺省單位。但其它的表示單位不可省略。
沒暈吧(偷笑),沒關(guān)系我們接著來看個例子。在下面的例子里,你可以建立一個數(shù)據(jù)庫Test、一個數(shù)據(jù)庫文件Test_Data和一個日志文件Test_Log:
Create Database Test On primary ( name=’Test_Data’, Filename=’c:\mssql17\data\Test_Data.mdf’, Size=10[MB], Maxsize=50[MB], Filegrowth=5[MB] ) LOG ON ( name=’Test_Log’, Filename=’c:\mssql17\data\Test_Log.ldf’, Size=5[MB], Maxsize=25[MB], Filegrowth=10% ) GO |
在SQL 2000中的查詢分析器中執(zhí)行后,你會看到一下的結(jié)果:
CREATE DATABASE 進(jìn)程正在磁盤 'Test_Data' 上分配 10.00 MB 的空間。
CREATE DATABASE 進(jìn)程正在磁盤 'Test_Log' 上分配 5.00 MB 的空間。
上面代碼括號中的部分即為<filespec>部分,是對創(chuàng)建的數(shù)據(jù)庫的說明。怎么樣,變的很簡單了吧。
posted on 2012-08-06 10:45 順其自然EVO 閱讀(356) 評論(0) 編輯 收藏 所屬分類: 數(shù)據(jù)庫