zoukankan      html  css  js  c++  java
  • Sql Server FileStream

    sqlserer 安装的时候记得勾选filestream;

    下面启动:

    image_thumb1

    执行:

    EXEC SP_CONFIGURE FILESTREAM_ACCESS_LEVEL,2
    RECONFIGURE

    重启数据库服务:

    创建数据库:

    CREATE DATABASE [Filestream]

    由于filestream是个特殊用途的文件组,要创建一个文件组指定constains filestream

    ALTER DATABASE Filestream
    ADD FILEGROUP FG_FT CONTAINS Filestream

    添加文件组的时候,物理文件路径不需要手动去创建,手动创建会报错,我是遇到了;

    ALTER DATABASE [Filestream]
    ADD FILE
    (
    NAME=N'Filestream1',
    FILENAME=N'F:Filestream'
    )TO FILEGROUP FG_FT

    结果:(自动创建)

    image_thumb3

    filestream.hdr是filestream系统文件,也是filesream的容器包含filestream标头信息; 不要删除

    创建一个包含varbinary(max)字段并且指定filestream属性,而且还需要是uniqueidentifier类型并指定rowguidcol属性;

    CREATE TABLE Filestre
    (
    ID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
    NAME SYSNAME,
    BLOB VARBINARY(MAX) FILESTREAM NULL
    )

    插入数据第一条是文本文档,第二条是张图片;、

    insert INTO Filestre
    SELECT NEWID(),'name1',* from  openrowset (bulk N'F:COUNTERS.TXT',SINGLE_BLOB) AS FILE1
    insert INTO Filestre
    SELECT NEWID(),'name2',* from  openrowset (bulk N'F:20160927.png',SINGLE_BLOB) AS FILE1

    image_thumb6

     

    image_thumb7     image_thumb9

    物理文件路径自动创建,我们插入两个文件,这个文件我们可以修改文件格式,并可以打开Look;

    下面我们测试下还原备份,很奇怪,也正好解决我上面的疑惑,我把文件组文件路径删除了,恢复文件路径自己能够创建;

    备份:

    BACKUP DATABASE [Filestream] TO DISK=N'F:FILE_D.BAK'

    BACKUP LOG [Filestream] TO DISK=N'F:FILE_L.BAK'

    删除数据库filestream,删除文件路径,数据文件都没有了;

    下面还原数据库:

    RESTORE DATABASE [Filestream] from disk=N'F:FILE_D.BAK' WITH NORECOVERY
    RESTORE LOG [Filestream] from disk=N'F:FILE_L.BAK'

    所有数据和删除数据库前一模一样;

  • 相关阅读:
    第一、二章读书笔记
    # 学号 20191221 《Python程序设计》实验一报告
    20191221实验四实验报告
    学号:20191221,《python实验设计》实验报告三
    20191221实验二报告
    快速浏览教材遇到
    何应霆 20191221
    2019-2020-1 20191319 《信息安全专业导论》第3周学习总结
    2019-2020-1 20191319《信息安全专业导论》第二周学习总结
    师生关系
  • 原文地址:https://www.cnblogs.com/kingwwz/p/5913662.html
Copyright © 2011-2022 走看看