SQL Server 2008中的FileStream介绍 |
很多朋友并不知道FileStream 这个功能 。因为FileStream 一般在安装的时候默认是不启用的,在SQL Server 2008中,引入了Filestream,使用它可以将非机构化大型数据(如文本文档、图像和视频)等以varbinary(max)的形式存储在文件系统中 。使用数据库的备份还原功能可以将这些数据一起备份还原 。 在选择数据库文件路径那个窗口,有一个标签是"FileStream" 。如果在安装的时候你没有启用,安装后可以通过以下设置来开启FileStream 功能 。 1. 打开 SQL Server 配置管理器, 在SQL server 服务下找到你要启用的SQL Server服务(默认实例一般是 MSSQLServer),右击该服务,选择属性,在属性窗口你可以看到FileStream 标签,选中" 针对 Transact-SQL 访问启用 FILESTREAM" 2.执行以下命令在ssms 复制代码 代码如下: EXEC sp_configure filestream_access_level, 2 RECONFIGURE 3.创建支持FileStream 的数据库 复制代码 代码如下: [sql] CREATE DATABASE test ON ( NAME = test_dat, FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testdat.mdf ), FILEGROUP testGroup1 CONTAINS FILESTREAM ( NAME = testgroup_dat , FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testGroup1.ndf) LOG ON ( NAME = Sales_log, FILENAME = C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\testlog.ldf ) ; 当然你也可以用以下脚本,在已存在的数据库添加一个文件组用于支持FileStream. 复制代码 代码如下: [sql] ALTER database test ADD FILEGROUP FileStreamRecord CONTAINS FILESTREAM GO --Add a file for storing database photos to FILEGROUP ALTER database test ADD FILE ( NAME= FileStreamRecord, FILENAME = D:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\TestFileStreamRecord.ndf ) TO FILEGROUP FileStreamRecord GO 4. 创建可以存储FileStream 的数据表 复制代码 代码如下: CREATE TABLE FileStreamRecording [sql] ( ID int, RowGuidColumn UNIQUEIDENTIFIER NOT NULL UNIQUE ROWGUIDCOL, FILESTREAMColumn varbinary(MAX) FILESTREAM ); [sql] [sql] 5.使用 复制代码 代码如下: [sql]
INSERT INTO FileStreamRecording VALUES(1, NEWID(), 0x00); INSERT INTO FileStreamRecording VALUES(2, NEWID(), 0x00); INSERT INTO FileStreamRecording VALUES(3, NEWID(), 0x00); GO SELECT FILESTREAMColumn.PathName() AS PathName FROM FileStreamRecording; 具体的使用可参考联机帮助或在线帮助 。 |