wxzself经验分享 sqlserver 文件表

0
(0)

1.简介

    微软的SQL SERVER可始支持数据库文件体系,即使用数据库中的文件表表实现“共享文件夹”文件系统,是从SQL 数据库的2012 版开始提供的。比它高的版本都支持。它实现了共享文件与数据表的一致操作。

    打开文件资源管理器,SQL SERVER资源管理器。在文件资源管理器中修改此共享文件夹的内容,例如创建子文件夹,新建文件,文件夹/文件改名,复制、粘贴,删除等所有操作,都会同步变化到SQL SERVER资源管理器(刷新)里。

    下面的例子是用Sql Server 2014简易版实现的。

    2.配置

      2.1在配置管理,启用FILESTREAM设置

      1.  开始菜单 –> 所有程序 –> Microsoft SQL Server 2014 –> 配置工具–>选择Configuration Tools。

      2. 在服务列表中,单击 SQL Server服务器

      3. 在 SQL Server配置管理器中,找到已安装的 SQL Server 实例,右键该实例 –> 点击属性

      4. SQL Server属性对话框 –> FILESTREAM 选项卡

      5. 勾选 Transact-SQL访问启用FILESTREAM 复选框

      6. 如果要在Windows中读取和写入 FILESTREAM 数据勾选针对文件I/O流访问启用 FILESTRAM,在Windows共享名框中输入 Windows 共享名称。

          这里配置后,FileTable创建好后,就可以想操作本地文件一样在FileTable中操作文件。

      7. 如果希望远程访问存储在该共享中的 FILESTREAM 数据,勾选允许远程客户端针对 FILESTREAM 数据流访问

      8. 应用,重启Sqlserver服务器

      2.2 在Management Studio配置

      — 第一步  更改FILESTRAM设置

      — 更改FILESTRAM设置

      EXEC sp_configure filestream_access_level, 2
      RECONFIGURE 

      — 重启服务器

      — 第二步   

      –创建FileTable用到的数据库 DB

      CREATE DATABASE  DB
         ON
         PRIMARY ( NAME = DBMDF,
               FILENAME = 'C:\DB\DBMDF.mdf'),      -- C:\DB路径必须存在
           FILEGROUP FileStreamGroupFirst CONTAINS FILESTREAM( NAME = FileTableSample,
               FILENAME = 'C:\DB\DBMDFStream')      -- C:\DB路径下MyFileStream文件夹必须不存在
         LOG ON  ( NAME = DBLDF,
         FILENAME = 'C:\DB\dblog.ldf')

      —  为DB数据库启用数据库非事务性访问级别

      –为了允许对 SQL Server 中存储文件进行非事务性访问,须在FileTable的数据上设置数据库非事务性访问级别。

      –修改数据库非事务性访问级别

      ALTER DATABASE DB
         SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'MyDirectory' )    -- 指定数据库访问级别和指定目录名字
      --查看数据库访问级别
         SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc
         FROM sys.database_filestream_options;
         GO

      —   在DB数据库中创建  FileTable  表,支持多个别名

      use DB
      CREATE TABLE MyFiles AS FileTable;
      CREATE TABLE MyFiles2 AS FileTable;
      CREATE TABLE MyFiles3 AS FileTable; 
      GO 

      3.在文件资源管理器验证,根目录有三级。

      键入\\localhost ,看到结果:

      会看到:

      会看到(请进入第一个MyFiles):

      这里是空的:

      在这里点击右键,选择新建文件夹,等完成后进入:

      在这里点击右键,选择新建文件夹,等完成后进入:

      会看到,这里还是空的:

      在这里点击右键,选择新建微软Word文档,使用Word进行修改并存盘:

      在文件资源管理器的工作已完成,下面打开

      4.在Management Studio 打开DB数据库,会看到:

      鼠标右键点击第一个,选择前1000行

      在文件资源管理器里打开刚才创建的数据库胡目录,C:\DB会看到:

      进入 DBMDFStream,会看到刚才创建的三个文件表。

      这里看的创建创建胡文件表所对应的FILESTREAM,为了提高性能,他们是独立于数据库文件单独存放的。

      这篇文章有用吗?

      点击星号为它评分!

      平均评分 0 / 5. 投票数: 0

      到目前为止还没有投票!成为第一位评论此文章。

      很抱歉,这篇文章对您没有用!

      让我们改善这篇文章!

      告诉我们我们如何改善这篇文章?

      发表回复

      您的邮箱地址不会被公开。 必填项已用 * 标注