SQL Server 2008中的FileStream介绍
程序员文章站
2022-05-18 08:26:28
很多朋友并不知道filestream 这个功能。因为filestream 一般在安装的时候默认是不启用的,在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' ) ;
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;
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;
具体的使用可参考联机帮助或在线帮助。
上一篇: sqlserver多版本查看版本号
推荐阅读
-
SQL server 2005的简单分页程序
-
SQL Server 数据库调整表中列的顺序操作
-
【SQL Server学习笔记】17:CASE表达式和T-SQL的NULL
-
例子:用PHP3调用Microsoft SQL Server的存储过程
-
(转) SQL Server中解决死锁的新方法介绍
-
SQL Server中row_number函数的常见用法示例详解
-
sql server定时作业调用Kettle job出错的快速解决方法
-
SQL SERVER中强制类型转换cast和convert的区别详解
-
SQL Server纵表与横表相互转换的方法
-
SQL Server 树形表非循环递归查询的实例详解