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'

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

转载于:https://www.cnblogs.com/kingwwz/p/5913662.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值