SQL Server 2008-----FileStream

SQL Server 2008中使用FileStream存取大文件 SQL Server 2008中引入了Filestream,使用它可以将非机构化大型数据(如文本文档、图像和视频)等以varbinary(max)的形式存储在文件系统中。使用数据库的备份还原功能可以将这些数据一起备份还原。详细可以查看 MSDN:http://msdn.micro 阅读详情

FileStream:文件流,为了解决大对象BLOB(Binary Large Objects)的存储问题.对于大对象存储,并且不受2GB的限制.

以往有两种方式:

(1)存储在数据库里面,这种方式一般使用image字段,或者varbinary(max)来做,好处是可以统一备份,但实际效率较低;

(2)存储在文件系统,而数据库中存储文件路径,这种方式数据库压力减轻了,但却不方便统一备份和管理.

SQL SERVER 2008新引入的文件流就是两者的统一.文件还是放在文件系统,但由数据库进行管理,可以统一备份和还原.

 

如何使用FileStream?

 

一.启用FileStream

(1)在SQL Server配置管理器中打开SQL Server数据库引擎的属性窗口.

(2)切换到FILESTREAM选项卡,选中"针对Transact-SQL访问启用FILESTREAM",其他选项是针对windows进行读写的,都可以选中.

(3)打开SSMS连接到数据库实例(是实例,不是具体的数据库),右击数据库实例,选择"属性"选项,切换到"高级"选项页,在文件流访问级别下拉列表框中选择"已启用完全访问"

 

 

 

二.初始化环境

(1)添加文件组

ALTER DATABASE [DBName] ADD FILEGROUP [FileGrp1] CONTAINS FILESTREAM

(2)添加存放文件的路径

ALTER DATABASE [DBName] ADD FILE(Name=N'filestream',FILENAME=N'C:/FileStream') TO FILEGROUP [FileGrp1]

系统将自动创建C:/FileStream文件夹并在其中写入filestream.hdr文件,该文件是 FILESTREAM容器的头文件不能删除,一定要确保在运行该语句之前C:/FileStream并不存在。

 

注意:文件组必须定义在NTFS格式分区下的磁盘,并且需要指向本地文件系统位置上,不允许指向网络地址network addressable storage (NAS),除非通过 iSCSI将NAS设备设置为本地NFS卷

原文(the DBA must define a database filegroup that ties an NTFS file system location to a SQL Server database. Note that the filegroup needs to point to a local file system location; filestreams can't live on a remote server or a network addressable storage (NAS) devices unless the NAS device is presented as a local NFS volume via iSCSI) 

 

如数据库之前从未备份过,在执行以上语句时会提示须先备份LOG

 

三.模拟测试

(1)建表

CREATE TABLE FileStreamTest

(

ID uniqueidentifier ROWGUID NOT NULL UNIQUE DEFAULT NewID(),

FilesName varbinary(max) FILESTREAM NULL

)

FILESTREAM_ON [FileGrp1] --指示存储到哪一个文件流

*如果一个表要使用文件流,则必须有一个GUID列,且作为唯一键列

 

(2)测试数据

INSERT INTO FileStreamTest(FilesName) VALUES (CAST('Edwin.Koo' AS varbinary(max)))

 

UPDATE FileStreamTest Set FilesName= (select txt_data From OPEMROWSET( BULK 'C:/temp/file01.txt',SINGLE_CLOB) As F(txt_data)) WHERE ID='BDBF1376-5CFA-43D7-B906-4B7C8E9A7625'

 

对于T-SQL访问FileStream数据列是完全透明的,就如访问varbinary(max)的方式一样.

 

值得注意的是:无论是插入数据还是修改数据,SQL Server都将在文件系统中创建新的文件来保存最新的修改文件内容,修改或删除数据后文件系统中的文件将保留,而不会被同时删除。

FM收音机调试-RDA5807M 收音机调试 IC型号:RDA5807M 阅读详情

相关推荐

如何成为一名高级数字 IC 设计工程师(6-7)数字 IC 验证篇:DEBUG 技巧

不懂验证的设计不是好的设计;UVM 验证思维是指导缜密的芯片设计的导师;推荐书籍《芯片验证漫游指南》。

新芯设计的博客 1545

SQL 2008FileStream数据类型

本文来源:http://hackye.5d6d.com/thread-839-1-1.html  在SQL Server 2008 中,新的FILESTREAM 数据类型,允许像文件和图片这种大型的二进制数据可以直接在NTFS文件系统中进行存储;文档或图片将作为数据库的一部分整体进行维护,并可以维护事务的一致性。FILESTREAM允许大型二进制数据的存储,通常都是由数据库进行管理,并以单独文

程序下载吧,源码下载 658

SQL Server 2008 FileStream

图片以FileStream的方式存储数据库;包括写入,读取和删除功能

启用SQL Server 2008 FILESTREAM功能

今天在配置SQL Server 2008 FILESTREAM 功能时遇到了点问题,在T-SQL中执行 ADD FILEGROUP ABCStreamGroup CONTAINS FILESTREAMGO时,提示FILESTREAM功能被禁用,无法完成。于是开始翻online文档,解决方法如下: 1、在“开始”菜单中,依次指向“所有程序”、“Microsoft SQL Server 2008”和...

weixin_34406796的博客 324

SQL Server 2008中的FileStream支持 (转)

SQL Server 2008中的FileStream支持 服务器有一个属性,即指定该服务器是怎么支持文件流的 /* 实际上文件流的出现就是为了解决对大对象的存储中一个矛盾。 对于大对象,第一种方式是存储数据库里面,这种方式一般使用image字段,或者varbinary(max)来做。好处是可以统一备份,但实际上读取效率比较低。大于1MB的文件就会有问题 第二种方式是文件存储在...

weixin_34395205的博客 212

SQL Server 2008新特性——FILESTREAM

<br /><br />FILESTREAM简介<br /> <br />FILESTREAMSQL Server 2008中的一个新特性,允许以独立文件的形式存放大对象数据,而不是以往一样将所有数据都保存到数据文件中。以往在对业务系统的文件进行管理时有两种方法,一种是将文件保存到服务器文件系统中,数据库中只保存了该文件的路径,在使用该文件时应用程序连接到服务器读取文件;另一种是将文件以 varbinary(max)或image数据类型保存到SQL Server中。而SQL Server 2008提供了F

金 色 的 草 棚 466

如何启用SQL Server 2008FILESTREAM特性

如何启用SQL Server 2008FILESTREAM特性 今天安装SQL Server 2008的时候没有注意,忘记了启用FILESTREAM特性,因为默认情况下FILESTREAM是禁用的。安装完成后,再导入一个.bak的备份数据库时提示FILESTREAM feature is disabled,到网上搜了一下,原来启用这个特性很简单,只需要两个步骤: 1)启用服务器实...

weixin_34414196的博客 183

SQL Server 2008中的FileStream支持

该篇文章是我于2009年6月10日通过自己编写的工具,批量从位于在博客园的博客站点(http://chenxizhang.cnblogs.com)同步而来。文章中的图片地址仍然是链接到博客园的。特此说明!陈希章 原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/04/25/1443283.html原文标题:SQL Server

陈希章@中国 642

SQL Server 2008 FileStream 的配置及示例

1.  启用 SQL Server 2008 Filestream 功能 a. 开始/所有程序/SQL Server 2008/Configuration Tools/SQL Server Configuration b. 选中Service,右键属性 c. 切换至Log On选项卡,设置如下图      d. 切换至FileStream选项卡,设置如下图      e. 点击OK结

踏歌长行的博客 562

SQL Server 2008新特性:FILESTREAM

转载的文章:关于 filestream SQL Server 2008新特性:FILESTREAMFILESTREAM简介 FILESTREAMSQL Server 2008中的一个新特性,允许以独立文件的形式存放大对...

cuidiuxi6460的博客 137

SQL Server FILESTREAM——2008新特性

FILESTREAM简介 FILESTREAMSQL Server 2008中的一个新特性,允许以独立文件的形式存放大对象数据,而不是以往一样将所有数据都保存到数据文件中。以往在对业务系统的文件进行管理时有两种方法,...

cuanji3287的博客 92

DoDAF2.0 Vol2中文

DoDAF2.0 Vol2中文.pdf ,

上一篇: BULK行集提供程序
下一篇: [Asp.net]在JQuery-UI Dialog下使用服务器端按钮失效
Edwingu
博客等级 码龄23年 9粉丝 35原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值