1. 程式人生 > >SQL擴展數據庫(命令執行)

SQL擴展數據庫(命令執行)

表示 初始 leg 是什麽 不能 插入數據 test 文件大小 修改文件名

name邏輯文件名,filename物理文件名,size初始大小,maxsize最大值,filegrowth增長量。後面這三個量默認單位都是MB。
?
1
2
3
4
5
6
7
8
9
10
11
12
13 create database MyNewDB
on
????(name=Lzh_dat1,
????filename=‘E:\Source Program\CreatTest\Lzh_dat1.mdf‘,
????size=10MB,
????maxsize=30MB,
????filegrowth=5MB)
log on
????(name=lzh_log1,
????filename=‘E:\Source Program\CreatTest\lzh_log1.ldf‘,
????size=3MB,
????maxsize=unlimited,
????filegrowth=3MB)
這裏on後就是這個文件組中的各個文件,log on後就是日誌文件(日誌空間與數據空間是分開管理的)。用這種方式時,因為只有一個文件組,所以其中的第一個文件就被認定為主要數據文件。
註意,主要數據文件.mdf,次要數據文件.ndf,日誌文件.ldf都只是推薦的擴展名,可以使用其它擴展名,所以到底是什麽文件還是要看在創建語句中的位置。

創建多個文件組的數據庫
語法類似,這時候on primary塊是主文件組,其中的第一個文件是主要數據文件。註意多個數據文件或多個日誌文件之間要有逗號分隔。
?
1
2
3

4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 create database MyNewDB
on primary
????(name=Lzh_dat1,
????filename=‘E:\Source Program\CreatTest\Lzh_dat1.mdf‘,
????size=10MB,
????maxsize=30MB,
????filegrowth=5MB),
?
????(name=Lzh_dat2,
????filename=‘E:\Source Program\CreatTest\Lzh_dat2.ndf‘,
????size=5MB,
????maxsize=20MB,
????filegrowth=4MB),
?
filegroup LzhGroup2
????(name=Lzh_dat3,
????filename=‘E:\Source Program\CreatTest\Lzh_dat3.ndf‘,
????size=7MB,
????maxsize=20MB,
????filegrowth=3MB),
?
filegroup LzhGroup3
????(name=Lzh_dat4,
????filename=‘E:\Source Program\CreatTest\Lzh_dat4.ndf‘,
????size=10MB,
????maxsize=30MB,
????filegrowth=5MB),
?
????(name=Lzh_dat5,
????filename=‘E:\Source Program\CreatTest\Lzh_dat5.ndf‘,
????size=20MB,
????maxsize=30MB,
????filegrowth=2MB)
?
log on
????(name=lzh_log1,
????filename=‘E:\Source Program\CreatTest\lzh_log1.ldf‘,
????size=3MB,
????maxsize=unlimited,
????filegrowth=3MB)

擴大數據庫空間
如果數據空間不夠則不能再插入數據,如果日誌空間不夠則不能再對數據庫修改操作(因為需要寫入日誌文件)。擴大數據庫空間有兩種方式:為數據庫添加新文件、擴大數據庫中已有文件的大小。
①為數據庫添加新文件
?
1
2
3
4 ALTER DATABASE 數據庫名
ADD [LOG] FILE
????(文件參數表)
[TO FILEGROUP 已存在的文件組名或DEFAULT表示默認文件組]
例如:
?
1
2
3
4
5
6
7 alter database MyNewDB
add file(
????name=newlzh_dat1,
????filename=‘E:\Source Program\CreatTest\newlzh_dat1.ndf‘,
????size=6mb,
????filegrowth=0)
to filegroup LzhGroup2

②擴大已有文件大小
這時候ADD就要改成MODIFY了,註意這裏的文件名是用來尋找你要擴大的那個文件的,而不是去修改文件名。
?
1
2
3
4
5 alter database MyNewDB
modify file(
????name=newlzh_dat1,
????size=8MB
????)

SQL擴展數據庫(命令執行)