SQLserver FileStream的出现就是为了解决对大对象的存储中一个矛盾。

对于图片的存储方式

第一种:方式是存储在数据库里面,这种方式一般使用image字段,或者varbinary(max)来做。好处是可以统一备份,但实际上读取效率比较低。大于1MB的文件就会有问题

第二种:方式是文件存储在文件系统,而数据库中存储了一个路径。这种方式数据库压力减轻了,却很不方便统一备份和管理。

SQL SERVER 2008的文件流其实就是二者的统一。文件还是放在文件系统的,但由数据库进行管理。可以统一备份和还原。FILESTREAM不是一个字段类型,它定义在字段后面,声明该列用于文件流即可。该列依然是用二进制保存的
一般都是在数据库中要特别添加一个文件组和一个或多个文件用来存储FileStream的数据的。

具体操作

1)启用服务器实例上的FILESTREAM(文件流)

打开SQL Server配置管理器,在SQL Server服务上点击右键,然后点击打开,在你想要启用FILESTREAM(文件流)的SQL Server实例上点击右键,从右键菜单中选择“属性”,切换到FILESTREAM(文件流)标签,检查“为Transact-SQL访问启用FILESTREAM(文件流)”选项,你也可以在这个标签页为文件I/O流访问启用FILESTREAM(文件流)

2)为数据库实例启用FILESTREAM(文件流)

执行系统存储过程sp_configure,并设置filestream_access_level参数的值为2

EXEC sp_configure filestream_access_level, 2
GO

filestream_access_level参数有效的值包括:

◆ 0 在该实例上禁用FILESTREAM(文件流),这是默认值。

◆ 1 为Transact-SQL访问启用FILESTREAM(文件流)

◆ 2 为Transact-SQL和Win32流访问启用FILESTREAM(文件流)

经过这两个步骤后,FILESTREAM特性就被启用了,再进行导入,就没问题了

Sqlserver2008 FileStream解决图片存储问题的更多相关文章

  1. sqlserver2008 死锁解决方法及性能优化方法

    sqlserver2008 死锁解决方法及性能优化方法 原文: http://blog.csdn.net/kuui_chiu/article/details/48621939 十步优化SQL Serv ...

  2. Java连接SQLServer2008终极解决办法(亲身上机演练版)

    今天我一学妹问我,Java连接SQLServer2008数据库的问题,一直无法连接成功.想起自己刚开始学习的时候,在网上找各种文章,然后实际上机验证操作,花了一两天时间才搞定,一把辛酸泪呀!记得当时是 ...

  3. sqlserver2008创建数据库 报 Cannot read property is filestream 此属性不可用于sql server 7.0 解决

    在创建数据库的时候,报整个错误 Cannot read property is filestream 此属性不可用于sql server 7.0 按照网上的方法  (http://blog.csdn. ...

  4. 哈哈:sqlserver2008附加数据库时操作系统错误5(拒绝访问)错误5012的解决办法

    老师说:无论干什么,出错了,先大笑三声.如果人多了,在心里也要大笑三声.哈哈哈!!! 刚刚重装系统完后,然后想学习.自己去安装sqlserver2008数据库,完之后想附加之前的数据库.可是当我一点确 ...

  5. sqlserver -- 解决sqlserver2008“Prevent saving changes that require table re_creation(阻止保存要求重新创建表的更改)”的问题

    电脑重装了sqlserver2008 R2(英文版)后,新建数据表,新建字段,发现有个字段类型设置错了,想修改字段类型,而该表已经保存好了,即保存后修改字段属性.但无法保存修改后的设置,提示“Savi ...

  6. 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题

    解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adventureworks2008实例数据库的BAK文件,进行还原时出现了这样的错误“F ...

  7. HBase解决海量图片存储方案

    随着互联网.云计算及大数据等信息技术的发展,越来越多的应用依赖于对海量数据的存储和处理,如智能监控.电子商务.地理信息等,这些应用都需要对海量图片的存储和检索.由于图片大多是小文件(80%大小在数MB ...

  8. 怎么解决安装SqlServer2008总是提示Restart computer as failed

    安装SqlServer2008总是提示Restart computer as failed,重启电脑依然报这个錯.解决办法是在cmd窗口中使用命令setup.exe /SkipRules=Reboot ...

  9. SQLServer2008不允许保存更改错误解决办法

    SQLServer2008不允许保存更改错误解决办法 今天在运行sql server 2008时候提示不允许保存更改,您所做的更改要求删除并重新创建以下表 的解决办法. 一.启动SQL Server ...

随机推荐

  1. 2、ambari搭建HDP集群

    一.平台环境 操作系统:CentOS release 6.5 (Final) Java版本:jdk1.8.0_60 Ambari版本:2.2.1.0 HDP版本:2.4.0 MySQL版本:MySQL ...

  2. dos命令行连接操作ORACLE数据库

    C:\Adminstrator> sqlplus "/as sysdba" 查看是否连接到数据库 SQL> select status from v$instance; ...

  3. laravel验证器例子

    直接贴测试代码 Route::get('/', function() { $name = "rico"; $validateData = array('name1' => $ ...

  4. xshell连接kali

    连接出现错误,连接不上去,看到一篇文章可以使用,https://blog.csdn.net/yemaxq/article/details/78171241

  5. ZOJ 3609 Modular Inverse(拓展欧几里得求最小逆元)

    Modular Inverse Time Limit: 2 Seconds      Memory Limit: 65536 KB The modular modular multiplicative ...

  6. 将 .NET 任务作为 WinRT 异步操作公开

    转自:http://blogs.msdn.com/b/windowsappdev_cn/archive/2012/06/22/net-winrt.aspx 在博文深入探究 Await 和 WinRT ...

  7. StringsUtil字符串工具类---灵活截取

    package com.js.ai.modules.pointwall.interfac; import javax.print.attribute.standard.MediaName; publi ...

  8. Oracle数据库学习笔记(一)

      Oracle的体系结构大体上分为两部分:Instance(实例)和Database(数据库). Instance(实例) :在Oracle Instance中主要包含了SGA以及一些进程(例如:P ...

  9. 敌兵布阵hdu1166

    /* 敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...

  10. IO模型之非阻塞IO

    1. IO模型非阻塞 IO Linux下,可以通过设置socket使其变为 non-blocking.当对一个non-blocking socket执行读操作时,流程是这个样子: 从图中可以看出,当用 ...