很多朋友並不知道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、在“開始”菜單中,依次指向“所有程序”、“Microsoft SQL Server 2008”和“配置工具”,然後單擊“SQL Server 配置管理器”。
2、在服務列表中,右鍵單擊“SQL Server 服務”,然後單擊“打開”。
3、在“SQL Server 配置管理器”管理單元中,找到要在其中啟用 FILESTREAM 的 SQL Server 實例。
4、右鍵單擊該實例,然後單擊“屬性”。
5、在“SQL Server 屬性”對話框中,單擊“FILESTREAM”選項卡。
6、選中“針對 Transact-SQL 訪問啟用 FILESTREAM”復選框。
7、如果要在 Windows 中讀取和寫入 FILESTREAM 數據,請單擊“針對文件 I/O 流訪問啟用 FILESTREAM”。在“Windows 共享名”框中輸入 Windows 共享的名稱。
8、如果遠程客戶端必須訪問存儲在此共享中的 FILESTREAM 數據,請選擇“允許遠程客戶端針對 FILESTREAM 數據啟用流訪問”。
9、單擊“應用”。
10、在 SQL Server Management Studio 中,單擊“新建查詢”以顯示查詢編輯器。
11、在查詢編輯器中,輸入以下 Transact-SQL 代碼:
EXEC sp_configure filestream_access_level, 2
RECONFIGURE
12、單擊“執行”。
原文位置:msdn.microsoft.com/zh-cn/library/cc645923(v=SQL.100).aspx
還需要在sql配置管理器中設置,右鍵服務屬性,有filestream的選項卡,開啟它重啟服務即可