Sql Server FileStream
Posted Hello Daily Notes
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Sql Server FileStream相关的知识,希望对你有一定的参考价值。
sqlserer 安装的时候记得勾选filestream;
下面启动:
执行:
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
结果:(自动创建)
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
物理文件路径自动创建,我们插入两个文件,这个文件我们可以修改文件格式,并可以打开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的主要内容,如果未能解决你的问题,请参考以下文章
ms sql2012 能否安装在win2008 server
Sql server2008! SQL server服务无法启动,并显示错误17113, 修复Sql server2008失败!
已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具