程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2008中的FileStream介紹

SQL Server 2008中的FileStream介紹

編輯:關於SqlServer

很多朋友並不知道FileStream 這個功能。因為FileStream 一般在安裝的時候默認是不啟用的,在SQL Server 2008中,引入了Filestream,使用它可以將非機構化大型數據(如文本文檔、圖像和視頻)等以varbinary(max)的形式存儲在文件系統中。使用數據庫的備份還原功能可以將這些數據一起備份還原。

在選擇數據庫文件路徑那個窗口,有一個標簽是"FileStream"。如果在安裝的時候你沒有啟用,安裝後可以通過以下設置來開啟FileStream 功能。

1. 打開 SQL Server 配置管理器, 在SQL server 服務下找到你要啟用的SQL Server服務(默認實例一般是 MSSQLServer),右擊該服務,選擇屬性,在屬性窗口你可以看到FileStream 標簽,選中" 針對 Transact-SQL 訪問啟用 FILESTREAM"

2.執行以下命令在ssms
代碼如下:

EXEC sp_configure filestream_access_level, 2
RECONFIGURE

3.創建支持FileStream 的數據庫
代碼如下:
[sql]
  CREATE DATABASE test
  ON
  ( NAME = test_dat,
  FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdat.mdf' ),
  FILEGROUP testGroup1 CONTAINS FILESTREAM
  ( NAME = testgroup_dat ,
  FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testGroup1.ndf')
  LOG ON
  ( NAME = Sales_log,
  FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testlog.ldf' ) ;

  當然你也可以用以下腳本,在已存在的數據庫添加一個文件組用於支持FileStream.
代碼如下:

  [sql]
  ALTER database test
  ADD FILEGROUP FileStreamRecord
  CONTAINS FILESTREAM
  GO
  --Add a file for storing database photos to FILEGROUP
  ALTER database test
  ADD FILE
  (
  NAME= 'FileStreamRecord',
  FILENAME = 'D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestFileStreamRecord.ndf'
  )
  TO FILEGROUP FileStreamRecord
  GO

4. 創建可以存儲FileStream 的數據表
代碼如下:

  CREATE TABLE FileStreamRecording
  [sql]
  (
  ID int,
  RowGuidColumn UNIQUEIDENTIFIER
  NOT NULL UNIQUE ROWGUIDCOL,
  FILESTREAMColumn varbinary(MAX) FILESTREAM
  );
  [sql]
  [sql]

5.使用
代碼如下:
[sql]
  INSERT INTO FileStreamRecording VALUES(1, NEWID(), 0x00);
  INSERT INTO FileStreamRecording VALUES(2, NEWID(), 0x00);
  INSERT INTO FileStreamRecording VALUES(3, NEWID(), 0x00);
  GO
  SELECT FILESTREAMColumn.PathName() AS 'PathName' FROM FileStreamRecording;

具體的使用可參考聯機幫助或在線幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved