在SQL Server 2008中配置文件流(FILESTREAM)
2012-12-28 15:15
453 查看
TSQL配置和激活文件流
在SQL Server 管理套件中,点击新查询窗口并输入下面的TSQL查询:
SQL Server 2008支持3种级别的文件流访问。
a. 如果这个值是0,那么对于这个实例来说文件流支持是不可用的。
b. 如果这个值是1,那么对于Transact-SQL访问来说文件流是激活的。
c. 如果这个值是2,那么对于Transact-SQL和Win32流访问来说文件流是激活的。
创建一个文件流数据库
在D:\FileStream\FileStreamData文件夹里你将看到一个叫做$FSLOG的子文件夹和一个叫做filestream.hdr的文件,这个文件是一个用于文件流容器的头文件。
创建一个数据表来存储文件流数据
如果一个表需要存储文件流数据,那么这个表应该定义一个ROWGUIDCOL字段。这是用于存储引擎跟踪NTFS文件系统中的实例用的。这个字段将用来存储文件流数据,它应该有varbinary(max)数据类型和FILESTREAM属性。在SQL Server 2008中,varbinary(max)数据类型可以存储超过2GB的数据。
文件流的优点
· 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 管理套件中,点击新查询窗口并输入下面的TSQL查询:
sp_configure 'filestream access level',2 reconfigure with override go
SQL Server 2008支持3种级别的文件流访问。
a. 如果这个值是0,那么对于这个实例来说文件流支持是不可用的。
b. 如果这个值是1,那么对于Transact-SQL访问来说文件流是激活的。
c. 如果这个值是2,那么对于Transact-SQL和Win32流访问来说文件流是激活的。
创建一个文件流数据库
Use Master Go IF EXISTS (SELECT name FROM sys.databases WHERE name = N'FileStreamDB') DROP DATABASE FileStreamDB GO USE Master GO CREATE DATABASE FileStreamDB ON PRIMARY ( NAME = FileStreamDB_Data, FILENAME = N'D:\FileStream\FileStreamDB_Data.mdf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 15%), FILEGROUP MyDBData ( NAME = MyFileStream_Data, FILENAME = N'D:\FileStream\FileStreamDB_Data.ndf', SIZE = 10MB, MAXSIZE = 50MB, FILEGROWTH = 5MB), FILEGROUP FileStream CONTAINS FILESTREAM ( NAME = FileStream, FILENAME = N'D:\FileStream\FileStreamData') LOG ON ( NAME = 'FileStreamDB_Log', FILENAME = N'D:\FileStream\FileStreamDB_Log.ldf', SIZE = 5MB, MAXSIZE = 25MB, FILEGROWTH = 5MB); GO --已有数据库,添加文件流组和文件 ALTER DATABASE [FileStreamDB] ADD FILEGROUP [FileStreamGroup] CONTAINS FILESTREAM GO ALTER DATABASE [FileStreamDB] ADD FILE ( NAME = N'FileStreamData', FILENAME = N'D:\DataBase\FileStream_Data' ) TO FILEGROUP [FileStreamGroup] GO
在D:\FileStream\FileStreamData文件夹里你将看到一个叫做$FSLOG的子文件夹和一个叫做filestream.hdr的文件,这个文件是一个用于文件流容器的头文件。
创建一个数据表来存储文件流数据
如果一个表需要存储文件流数据,那么这个表应该定义一个ROWGUIDCOL字段。这是用于存储引擎跟踪NTFS文件系统中的实例用的。这个字段将用来存储文件流数据,它应该有varbinary(max)数据类型和FILESTREAM属性。在SQL Server 2008中,varbinary(max)数据类型可以存储超过2GB的数据。
USE FileStreamDB Go CREATE TABLE dbo.FileStreamTable ( FS_ID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE, FSData VARBINARY(MAX) FILESTREAM ); INSERT INTO FileStreamTable VALUES(newid(), CAST ('Inserting data into FileStreamTable........' As VARBINARY(MAX))) Go
文件流的优点
· 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 2008中配置文件流(FILESTREAM)
- (转帖)在SQL Server 2008中配置文件流(FILESTREAM)
- 在SQL Server 2008中配置文件流(FILESTREAM)
- 在SQL Server 2008中配置文件流(FILESTREAM)
- 在SQL Server 2008中配置文件流(FILESTREAM)
- Sql Server 2008 FileStream如何删除磁盘上的文件
- SQL Server 2008中使用FileStream存取大文件
- hibernate配置文件如何连接sql server 2008数据库
- SQL Server 2008 FileStream 的配置及示例
- Sql Server 2008 FileStream如何删除磁盘上的文件
- 使用配置文件安装SQL Server 2008服务器
- Sql Server 2008 FileStream如何删除磁盘上的文件
- WIN7下安装SQL server 2008 R2“出现性能计数器注册表配置单元一致性”失败的解决办法(新)
- SQL Server 2008 数据库镜像部署实例之二 配置镜像,实施手动故障转移
- SQL Server 2008故障转移集群+数据库镜像配置实例之三
- SQL Server 2008 数据库日志文件丢失处理方法
- Server 2008 配置共享文件服务器--权限配置
- SQL Server 2008 R2 附加数据库 “尝试打开或创建物理文件 拒绝访问”的解决办法
- [SQL Server][FILESTREAM] -- Different ways to enable FILESTREAM feature of SQL Server 2008
- 图解SQL Server 2008安装和配置过程