您现在的位置: 晨光科技 >> 文章 >> 技术 >> IT >> 正文  
  在SQL Server 2008中配置FILESTREAM         
在SQL Server 2008中配置FILESTREAM
[ 作者:佚名    转贴自:http://smb.pconline.com.cn/soft/0809/1409114.html    点击数:98    更新时间:2011/1/10    文章录入:admin ]
[注:本站登载的某些文章并不代表本站支持或反对其观点或肯定其真实性]

  SQL Server 2008推出了一个叫文件流FILESTREAM的新特性,它使得基于SQL Server的应用程序可以在文件系统中存储非结构化的数据,例如文档、图片、音频、视频等等。文件流主要将SQL Server数据库引擎和新技术文件系统(NTFS)集成在一起; 它主要以varbinary(max)数据类型存储数据。使用这个数据类型,非结构化数据存储在NTFS文件系统中,而SQL Server数据库引擎管理文件流字段和存储在NTFS的实际文件。使用TSQL语句,用户可以插入、更新、删除和选择存储在可用文件流的数据表中的数据。

  

微软中国服务器产品业务群总监符国新

  微软中国服务器产品业务群总监符国新

  在SQL Server 2008安装过程中配置和激活文件流

  SQL Server数据库管理员可以在SQL Server 2008安装过程中激活文件流特性。激活文件流的选项在SQL Server 2008建立过程中在数据库引擎配置界面中可以看到。为了激活文件流用于Transact-SQL 访问,数据库管理员需要选择Enable FILESTREAM for Transact-SQL access选项。一旦这个选项激活了,那么其他所有访问控制选项都可以配置了。选择Enable FILESTREAM for file I/O streaming access选项来开启用于文件的Win32流访问。然后你需要提供文件流数据用于访问所存储的windows共享名称。如果你计划允许远程客户端访问服务器上的这个文件流数据,那么选择Allow remote clients to have streaming access to FILESTREAM data控制。

  在SQL Server 2008安装过程中,如果你忘记了激活文件流特性,那么这个特性可以在安装之后通过下面的方法来激活。

  使用SQL Server配置管理器来配置和激活文件流

  1. 点击开始菜单| Microsoft SQL Server 2008 |配置工具| SQL Server配置管理器。

  2. 在左边面板中,点击SQL Server 服务,它将在右边面板中列出所有SQL Server 2008相关服务。

  3. 点击你想在其上激活文件流的SQL Server(MSSQLSERVER)服务实例; 并右键单击来查看这个服务的属性。

  4. 在SQL Server 属性对话框中,点击FILESTREAM标签页。

  5. 选择FILESTREAM for Transact-SQL access 复选框,它将激活其余选项。

  6. 如果你想提供从windows读和写文件流数据访问那么选择Enable FILESTREAM for I/O streaming access选项并输入windows 共享的名称。

  7. 最后一个选项,Allow remote clients to have streaming access to FILESTREAM data将允许远程客户端访问这个服务器上的文件流数据。

  8. 点击Apply来保存这些改变。

  使用TSQL 查询来配置和激活文件流

  1. 在SQL Server 管理套件中,点击新查询窗口并输入下面的TSQL查询: 

Use Master
Go
EXEC sp_c onfigure 'filestream access level', 2
Go
RECONFIGURE
Go

  SQL Server 2008支持3种级别的文件流访问。

  a. 如果这个值是0,那么对于这个实例来说文件流支持是不可用的。

  b. 如果这个值是1,那么对于Transact-SQL访问来说文件流是激活的。

  c. 如果这个值是2,那么对于Transact-SQL和Win32流访问来说文件流是激活的。

  使用GUI在服务器实例级别配置和激活文件流

  1. 使用SQL Server 管理套件连接到SQL Server 2008。

  2. 在对象管理器中,右键单击服务器并选择属性来查看服务器属性窗口。

  3. 在Advanced下面,点击Filestream Access Level 后面的下拉列表框并选择Full access enabled。

  4. 为此用户需要是sysadmin或serveradmin固定服务器角色的成员来改变文件流的默认设置。

  5. 点击OK来保存变更。

  怎样创建一个文件流数据库

  当你创建数据库时,文件流特性使用一个特殊的文件组类型。你需要在创建数据库语句中至少为一个文件组指定CONTAINS FILESTREAM 条件从句。 

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

  怎样创建一个数据表来存储文件流数据

  如果一个表需要存储文件流数据,那么这个表应该定义一个ROWGUIDCOL字段。这是用于存储引擎跟踪NTFS文件系统中的实例用的。这个字段将用来存储文件流数据,它应该有varbinary(max)数据类型和FILESTREAM属性。在SQL Server 2008中,varbinary(max)数据类型可以存储超过2GB的数据。下面的TSQL查询可以用来创建FileStreamTable表:

USE FileStreamDB
Go
CREATE TABLE dbo.FileStreamTable
(
FS_ID UNIQUEIDENTIFIER ROWGUIDCOL NOT NULL UNIQUE,
FSData VARBINARY(MAX) FILESTREAM
);

  怎样插入数据到FileStreamTable中

  执行下面的TSQL来插入文件流数据到FileStreamDB数据库中的FileStreamTable表中。

USE FileStreamDB
Go
INSERT INTO FileStreamTable
VALUES(newid(), CAST ('Inserting data into FileStreamTable........' As VARBINARY(MAX)))
Go

  如果这个数据成功插入了,那么你将看到在:\FileStream\FileStreamData文件夹下创建了一个新的文件夹。

  文件流的优点

  BLOB数据现在可以保存在NTFS系统中,并且它处于SQL Server 2008的控制之下。

  SQL Server将维护所有BLOB数据的事务一致性。

  对于要以FILESTREAM来存储的文件没有规模限制。只要你在磁盘上具有空间,那么你就可以存储更大的FILESTREAM文件。

  当激活了文件流的数据库被备份后,在指定FileStreamData文件夹下的所有BLOB文件都将被备份,它们将帮助数据库管理员轻松地管理BLOB。

  可以通过TSQL和具有很好流性能的NTFS流APIs轻松地访问数据。

  文件流的缺点

  数据库镜像不能配置在激活了文件流的数据库上。

  数据库快照不能快照文件流数据库中的文件流数据。

  SQL Server 2008的文件流特性帮助公司更有效地管理它们的BLOB数据,因为它们可以在NTFS文件系统中存储数据并利用SQL Server事务一致性的好处。数据库管理员现在可以轻松地进行公司的文件流数据备份,只需要对文件流数据库进行备份就可以了,不用对每一个BLOB文件进行单独备份。这使得他们可以节省很多时间,而且不会再因为没有备份一些文件而丢失数据。

  • 上一篇文章: 闲置小U盘变身最强大路由器

  • 下一篇文章: 云中的密码破解
  •    
    [注:标题搜索比内容搜索快]
    发表评论】【告诉好友】【打印此文】【关闭窗口
     最新5篇热点文章
  • 轨道钢承重计算公式及应用[109]

  • 【选型】如何为变频器选取阻值…[86]

  • AIS2023参展厂商名录[345]

  • AGV综合选型[170]

  • APIE 2023第4届亚太国际智能装…[138]

  •  
     最新5篇推荐文章
  • 外媒:正在唤醒中国的习近平[305]

  • 中国反伪科学运动背后的CIA黑手…[494]

  • [转载]袁隆平真言:中国最大的…[668]

  • 台专家:当年我们造IDF时 大陆…[572]

  • 旅日华人:中国严重误判日本民…[577]

  •  
     相 关 文 章
    没有相关文章

      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
        没有任何评论
    设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 | 
    版权所有 Copyright© 2003 晨光科技        站长:璀璨星辰        页面执行时间:269.53毫秒
    Powered by:MyPower Ver3.5