广

MSSQL

  • MYSQL
  • MSSQL
  • Redis
  • MongoDB
  • oracle数据库
  • 数据管理

    SQL Server 2008中的FileStream介绍

    2018-05-03 14:16:57 次阅读 稿源:互联网
    零七网广告
    全网推广平台,软文发布

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

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

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七网广告
    零七网广告
    零七网广告
    零七网广告