当前位置: 代码迷 >> SQL >> 在SQL Server 中起用 FileStream
  详细解决方案

在SQL Server 中起用 FileStream

热度:258   发布时间:2016-05-05 12:05:09.0
在SQL Server 中启用 FileStream

最近在研究在数据库中存储大数据文件,看到了FileStream 这个功能,记录下来以备后用

FileStream 一般在安装的时候默认是不启用的,如果你留意的话,在选择数据库文件路径那个窗口,有一个标签是“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 的数据库,

CREATE DATABASE testON   ( 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.

  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

      (          ID int,          RowGuidColumn UNIQUEIDENTIFIER                        NOT NULL UNIQUE ROWGUIDCOL,          FILESTREAMColumn varbinary(MAX) FILESTREAM      );
5.使用
  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;


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



  相关解决方案