当前位置:  数据库>sqlserver

SQL Server误区30日谈 第18天 有关FileStream的存储,垃圾回收以及其它

    来源: 互联网  发布时间:2014-10-09

    本文导语:  误区 #18:如下多个有关FileStream的误区 全部错误 18 a)FileStream数据可以在远程存储     不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是...

误区 #18:如下多个有关FileStream的误区

全部错误

18 a)FileStream数据可以在远程存储

    不能,由于FileStream数据容器(指的是存放FileStream文件的NTFS文件夹,杜撰出来的术语)必须像数据文件或日志文件那样符合本地存储策略-也就是说,这个数据容器必须放在对于运行SQL Server的Windows Server是本地存储(译者注:也就是在‘计算机'里能看到的存储,DAC当然是了,其实SAN这类不直接连接服务器的也算是)访问FileStream数据只要客户端连接到了SQL Server服务器并获取响应的事务上下文后,就可以通过UNC路径进行访问了。

18 b)FileStream的数据容器可以嵌套

    不能,对于同一个数据库的两个不同的FileStream容器可能在同一个目录下,但是却不能嵌套。而对于不同数据库的FileStream容器无法在同一个目录下。我的一篇博文有一段代码能说明这一点:Misconceptions around FILESTREAM storage

18 c)对于FileStream的更新可以部分更新

    对于任何FileStream的更新都会导致创建一个全新的FileStream文件,这个操作会被日志原原本本的记录下来。这也就是为什么FileStream不能被用于数据库镜像。这么多数据如果用于镜像的话那后果简直不可想象,只能希望未来的SQL Server版本可以修改这种机制以允许部分更新。

18 d)FileStream会在不需要的时候立刻被垃圾回收

    错误。FileStream数据会在不再需要并且到了下一个Checkpoint的时候进行垃圾回收。这点并不是那么直接以至于很多人对FileStream的回收机制存在误区。

18 f)FileStream存放的目录以及文件名是随机取得

    其实不然,FileStream的文件名其实代表的是创建其操作对应LSN号。表和列的GUID目录名是可以在系统表中获取到。

我下面两篇博文对此有了更详细的解释:


    
 
 

您可能感兴趣的文章:

  • SQL Server的FileStream和FileTable深入剖析
  • SQL Server误区30日谈 第23天 有关锁升级的误区
  • SQL Server误区30日谈 第28天 有关大容量事务日志恢复模式的误区
  • SQL Server误区30日谈 第17天 有关页校验和的误区
  • SQL Server误区30日谈 第29天 有关堆碎片的误区
  • SQL Server误区30日谈 第25天 有关填充因子的误区
  • SQL Server误区30日谈 第8天 有关对索引进行在线操作的误区
  • SQL Server误区30日谈 第6天 有关NULL位图的三个误区
  • SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
  • SQL Server误区30日谈 第7天 一个实例多个镜像和日志传送延迟
  • SQL Server误区30日谈 第22天 资源调控器可以调控IO
  • SQL Server误区30日谈 第16天 数据的损坏和修复
  • SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭
  • SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
  • 编程语言 iis7站长之家
  • SQL Server误区30日谈 第27天 使用BACKUP WITH CHECKSUM可以替代DBCC CheckDB
  • SQL Server误区30日谈 第1天 正在运行的事务在服务器故障转移后继续执行
  • SQL Server误区30日谈 第9天 数据库文件收缩不会影响性能
  • SQL Server误区30日谈 第4天 DDL触发器就是INSTEAD OF触发器
  • SQL Server误区30日谈 第11天 镜像在检测到故障后瞬间就能故障转移
  • SQL Server误区30日谈 第15天 CheckPoint只会将已提交的事务写入磁盘
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3