热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于SQLServer中的FileStream

很多朋友并不知道FileStream这个功能。因为FileStream一般在安装的时候默认是不启用的,在SQLServer2008中,引入了

关键词
FileStream SQL Server 大型数据

摘要

很多朋友并不知道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’ ) ;
  当然你也可以用以下脚本,在已存在的数据库添加一个文件组用于支持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;



推荐阅读
  • Oracle将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)----创建表Createtablet_user(Idnumber(6),use ... [详细]
  • mysql相关操作_MySQL之记录相关操作
    一介绍MySQL数据操作:DML在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插 ... [详细]
  • oracle text db2,从Oracle 到DB2(一)
    在实际的软件项目的开发过程中,特别是在企业的应用系统集成(EAI)项目中广大开发人员经常遇到不同关系型数据库之间的数据移植问题。笔者根据自己在工作中的不同数据库数据移 ... [详细]
  • 微软平台的软件开发系统中,有着一套自己的约定规则。熟悉.net开发的都会对异常处理不陌生,现阶段的各种编程语言中,都不乏异常处理机制,个中原理也都大同小异。sqlserver在批处 ... [详细]
  • 定制数据层关键字:数据层,访问,元数据,数据访问模型http://www.gaodaima.com/35448.html定制数据层_sqlserver ... [详细]
  • SqlServer分区表概述(转载)
    什么是分区表一般情况下,我们建立数据库表时,表数据都存放在一个文件里。但是如果是分区表的话,表数据就会按照你指定的规则分放到不同的文件里,把一个大的数据文件拆分为多个小文件,还可以把这些小文件 ... [详细]
  • 本文主要介绍关于数据库,sql,sqlserver的知识点,对【数据库——概述】和【数据库到底要怎么做】有兴趣的朋友可以看下由【用编程写诗】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的数据库相 ... [详细]
  • 在RAC环境中如何管理日志(redologfile)组Tuesday,2004-09-1411:52Eygle      htt ... [详细]
  • 是的,可以在RDSMySqlEngine中进行Master-Master复制。但它需要一些操作与实例。先决条件:1)为启用二进制日志记录创建两个实例的只 ... [详细]
  • 1.方法一:采用OleDB读取EXCEL文件:把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下:publicDa ... [详细]
  • 一个不错的JDBC连接池教程(带具体例子)
    1.前言数据库应用,在许多软件系统中经常用到,是开发中大型系统不可缺少的辅助。但如果对数据库资源没有很好地管理(如:没有及时回收数据库的游 ... [详细]
  • 第一部分:TSqlTop有两种用法1,限制查询结果集返回的行数或总行数的百分比。当将TOP与ORDERBY子句结合使用时,结果集限制为前N个已排序行;否则,以未定义的顺序返回前N个 ... [详细]
  • ---------建表 table1,tabel2---------createtabletable1(idint,namevarchar(20))createtabletable2(i ... [详细]
  • 关于SQLSERVER的全文目录跟全文索引的区别
    很久没有写随笔了,本来之前想写一篇关于SQLSERVER全文索引的随笔,可惜没有时间,一直拖到现在才有时间写,不好意思让各位久等了~先介绍一下SQLSERVER中的存储类对象,哈哈,先介绍一下概念嘛 ... [详细]
  • 【MSSQL】解决MSSQLSERVER连接服务器时候,输入IP无法连接的问题
    问题简述:登录MSSQLSERVER的时候,如果输入ip而导致无法登录,可以参考一下步骤,设置完成后即可使用ip登录数据库step1:step2:step3:step4 ... [详细]
author-avatar
epa4316380
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有