在SQL SERVER 2008中創建帶FILESTREAM的數據庫。
語句如下:
- ---注意事項----
- ---1、不能爲FILESTREAM數據文件指定SIZE、MAXSIZE或FILEGROWTH屬性;FILENAME屬性中指定的值(即文件路徑中的最後一個目錄必須不存在,除此之外的目錄必須存在)
- ---2、在使用FILESTREAM前需要開啓FILESTREAM,具體參見:http://msdn.microsoft.com/zh-cn/library/cc645923(v=SQL.100).aspx
- ---3、請確認sqlserver數據庫引擎的啓動賬戶是否有權限讀取C:\Sample這個目錄,sqlserver在訪問外部資源時,需要啓動賬戶擁有相應的權限。
- --- 如果是內置賬戶, 建議選擇Local System或者Local Service
- --------------------------------------------------------------------------------
- ---強烈建議把FILESTREAM數據與其他數據分開,存放在一個獨立的數據庫中,數據庫鏡像不能被用於包含文件流數據的數據庫。數據庫快照不能包含文件流文件組,因而,文件流數據不可用。在快照中使用slect請求一個文件流列會出錯。
-
- IF EXISTS(SELECT * FROM sysdatabases WHERE name=N'SampleData')
- DROP DATABASE SampleData
- ---IF DB_ID(N'SampleData') IS NOT NULL
- --- DROP DATABASE SampleData
- CREATE DATABASE SampleData ON PRIMARY
- (NAME=N'SampleData', FILENAME=N'C:\Sample\SampleData.MDF',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),
- FILEGROUP FG1 DEFAULT
- (NAME=N'SampleData_01',FILENAME=N'C:\Sample\SampleData_01.ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),
- (NAME=N'SampleData_02',FILENAME=N'C:\Sample\SampleData_02.ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%),
- FILEGROUP FG2 CONTAINS FILESTREAM
- (NAME=N'SampleData_f1',FILENAME=N'C:\Sample\Document')
- LOG ON
- (NAME=N'SampleData_Log',FILENAME=N'C:\Sample\SampleData_Log.ldf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)
- COLLATE Chinese_PRC_CI_AS
- GO
-
在現有的數據庫中增加文件:
- ---以下兩條語句都是在現有數據庫中增加文件,區別是如果沒有指定文件組,則自動將文件加入到PRIMARY文件組中
- ALTER DATABASE SampleData
- ADD FILE (NAME=N'SampleData_03',FILENAME=N'C:\Sample\SampleData_03.ndf',Size=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%)
- ---或者
- ---ALTER DATABASE SampleData
- --- ADD FILE (NAME=N'SampleData_03',FILENAME=N'C:\Sample\SampleData_03.ndf',Size=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%) TO FILEGROUP FG1
在現有的數據庫中增加文件組:
- ---以下兩條語句是在現有數據庫中增加文件組,並在新增加的文件組中增加新文件
- ALTER DATABASE SampleData
- Add FILEGROUP FG3
- ALTER DATABASE SampleData
- Add FILE (NAME=N'SampleData_04',FILENAME=N'C:\Sample\SampleData_04.ndf',SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10%) TO FILEGROUP FG3
- ---以下語句是在現有數據庫中增加FILESTREAM類型文件組,並在新增加的文件組中增加新文件
- --- ALTER DATABASE SampleData
- --- ADD FILEGROUP FG5 CONTAINS FILESTREAM
- --- ALTER DATABASE SampleData
- --- ADD FILE (NAME=N'SampleData_f2',FILENAME=N'C:\Sample\Photo') TO FILEGROUP FG5
將現有數據庫中的文件或文件組刪除
- ----從現有數據庫中刪除文件
- ALTER DATABASE SampleData
- REMOVE FILE SampleData_03
- ----從現有數據庫中刪除一個文件組
- ----首先必須從文件組中刪除文件,然後才能刪除文件組
- ALTER DATABASE SampleData
- REMOVE FILE SampleData_04
- ALTER DATABASE SampleData
- REMOVE FILEGROUP FG3
修改現有數據庫中的文件與文件組屬性
- ----更改數據庫中文件的大小
- ALTER DATABASE SampleData
- MODIFY FILE (NAME=N'SampleData_03',SIZE=20MB)
- ----更改數據庫中文件的邏輯名
- ALTER DATABASE SampleData
- MODIFY FILE (NAME=N'SampleData_03',NEWNAME=N'SampleData_13')
- ----更改數據庫中文件的路徑
- ----必須先將該文件實際移至新目錄中,然後運行此示例。然後,停止和啓動 SQL Server 的實例,或使 SampleData 數據庫 OFFLINE 再 ONLINE,以實施更改。
- ALTER DATABASE SampleData
- MODIFY FILE (NAME=N'SampleData_03',FILENAME=N'C:\SampleData_03.ndf')
- ----更改數據庫中文件組的只讀屬性(READ_ONLY/READ_WRITE、DEFAULT
- ALTER DATABASE SampleData
- MODIFY FILEGROUP FG3 READ_WRITE
- ----將默認數據庫文件組改爲FG3
- ALTER DATABASE SampleData
- MODIFY FILEGROUP FG3 DEFAULT
- ----將主文件組設置爲默認文件組
- ALTER DATABASE SampleData
- MODIFY FILEGROUP [PRIMARY] DEFAULT
- ----修改文件組的名稱
- ALTER DATABASE SampleData
- MODIFY FILEGROUP FG3 (NAME=N'FG13')
創建數據庫快照
- CREATE DATABASE SampleDataSnapshot ON
- (NAME=N'SampleData',FILENAME=N'C:\Sample\SampleData.ss'),
- (NAME=N'SampleData_01',FILENAME=N'C:\Sample\SampleData_01.ss'),
- (NAME=N'SampleData_02',FILENAME=N'C:\Sample\SampleData_02.ss'),
- (NAME=N'SampleData_03',FILENAME=N'C:\Sample\SampleData_03.ss'),
- (NAME=N'SampleData_04',FILENAME=N'C:\Sample\SampleData_04.ss')
- AS SNAPSHOT OF SampleData