Sql Server FileStream

Posted Hello Daily Notes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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\'

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

以上是关于Sql Server FileStream的主要内容,如果未能解决你的问题,请参考以下文章

sql server安装遇到的问题

ms sql2012 能否安装在win2008 server

Sql server2008! SQL server服务无法启动,并显示错误17113, 修复Sql server2008失败!

sql server 的考证问题

求sql server帮助文档

已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具