SQL Server 2008中的FileStream介绍,2008filestream

网络整理 - 08-17

很多朋友并不知道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;

具体的使用可参考联机帮助或在线帮助。


SQL 2008 创建数据库时出现以下错误 FILESTREAM 功可以被禁用? 不知道在什地方设置

解决方法如下:
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
 

怎启用sqlserver文件流(FILESTREAM)

还需要在sql配置管理器中设置,右键服务属性,有filestream的选项卡,开启它重启服务即可