加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server 2008中的FileStream介绍

发布时间:2020-12-12 09:47:40 所属栏目:MsSql教程 来源:网络整理
导读:很多朋友并不知道FileStream 这个功能。因为FileStream 一般在安装的时候默认是不启用的,在SQL Server 2008中,引入了Filestream,使用它可以将非机构化大型数据(如文本文档、图像和视频)等以varbinary(max)的形式存储在文件系统中。使用数据库的备份还原

很多朋友并不知道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 的数据库
代码如下:   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.使用
代码如下:   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;

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读