欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

在SQL Server中启用FileStream

程序员文章站 2022-04-09 14:26:02
...

最近在研究在数据库中存储大数据文件,看到了FileStream 这个功能,记录下来以备后用 FileStream 一般在安装的时候默认是不启用的,如果你留意的话,在选择数据库文件路径那个窗口,有一个标签是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 的数据库,

  [sql]

  CREATE DATABASE test

  ON

  ( NAME = test_dat,

  FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAtestdat.mdf' ),

  FILEGROUP testGroup1 CONTAINS FILESTREAM

  ( NAME = testgroup_dat ,

  FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAtestGroup1.ndf')

  LOG ON

  ( NAME = Sales_log,

  FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATAtestlog.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 FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLDATATestFileStreamRecord.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;

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