在SQL Server 2008中配置文件流(FILESTREAM)
2008-08-14 09:54:47 来源:WEB开发网下面的截屏显示了在D:FileStream folder下为FileStreamDB 数据库创建的文件。你将看到一个叫做FileStreamData的文件夹,它将存储所有的varbinary(max)值。
在D:FileStreamFileStreamData文件夹里你将看到一个叫做$FSLOG的子文件夹和一个叫做filestream.hdr的文件,这个文件是一个用于文件流容器的头文件。
怎样创建一个数据表来存储文件流数据
如果一个表需要存储文件流数据,那么这个表应该定义一个ROWGUIDCOL字段。这是用于存储引擎跟踪NTFS文件系统中的实例用的。这个字段将用来存储文件流数据,它应该有varbinary(max)数据类型和FILESTREAM属性。在SQL Server 2008中,varbinary(max)数据类型可以存储超过2GB的数据。下面的TSQL查询可以用来创建FileStreamTable表:
USEFileStreamDB
Go
CREATETABLEdbo.FileStreamTable
(
FS_IDUNIQUEIDENTIFIERROWGUIDCOLNOTNULLUNIQUE,
FSDataVARBINARY(MAX)FILESTREAM
);
怎样插入数据到FileStreamTable中
执行下面的TSQL来插入文件流数据到FileStreamDB数据库中的FileStreamTable表中。
USEFileStreamDB
Go
INSERTINTOFileStreamTable
VALUES(newid(),CAST('InsertingdataintoFileStreamTable........'AsVARBINARY(MAX)))
Go
如果这个数据成功插入了,那么你将看到在:FileStreamFileStreamData文件夹下创建了一个新的文件夹。
文件流的优点
· BLOB数据现在可以保存在NTFS系统中,并且它处于SQL Server 2008的控制之下。
· SQL Server将维护所有BLOB数据的事务一致性。
· 对于要以FILESTREAM来存储的文件没有规模限制。只要你在磁盘上具有空间,那么你就可以存储更大的FILESTREAM文件。
· 当激活了文件流的数据库被备份后,在指定FileStreamData文件夹下的所有BLOB文件都将被备份,它们将帮助数据库管理员轻松地管理BLOB。
· 可以通过TSQL和具有很好流性能的NTFS流APIs轻松地访问数据。
文件流的缺点
· 数据库镜像不能配置在激活了文件流的数据库上。
· 数据库快照不能快照文件流数据库中的文件流数据。
总结
SQL Server 2008的文件流特性帮助公司更有效地管理它们的BLOB数据,因为它们可以在NTFS文件系统中存储数据并利用SQL Server事务一致性的好处。数据库管理员现在可以轻松地进行公司的文件流数据备份,只需要对文件流数据库进行备份就可以了,不用对每一个BLOB文件进行单独备份。这使得他们可以节省很多时间,而且不会再因为没有备份一些文件而丢失数据。
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接