SQL Server 2012中使用T-SQL操作FileTable目录实例2015-02-14在SQL Server 2008提供FileStream,以借助Windows系统本身的API来强化SQL Server对于非结构化数据的支持后,SQL Server 2012更是推出了像Contained Database、FileTable等令人期待的新功能。对于FileTable的功能和特性,在此无需赘述,本文主要针对FileTable的T-SQL操作目录做一个实例演示。关于FileTable的介绍,请参阅MSDN:http://technet.microsoft.com/zh-cn/library/ff929144.aspx一、启用FileTable的先决条件http://technet.microsoft.com/zh-cn/library/gg509097.aspx
USE master GOEXEC sp_configure "filestream access level",2GoRECONFIGURE GO--查看实例级FileTable配置EXEC sp_configure filestream_access_level;GO
二、创建一个FileTableUSE master
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N"LearnFileTable")
DROP DATABASE LearnFileTable
GO
/****** Object:Database [LearnFileTable]Script Date: 2014-04-23 9:25:32 ******/
CREATE DATABASE [LearnFileTable]
CONTAINMENT = NONE
ONPRIMARY
( NAME = N"LearnFileTable_Primary", FILENAME = N"E:SQL2012DataMyData2012DataLearnFileTable_Data.mdf" ,
SIZE = 8128KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ),
FILEGROUP [MyFS] CONTAINS FILESTREAMDEFAULT
( NAME = N"LearnFileFS", FILENAME = N"E:SQL2012DataMyData2012DataLearnFileFS" ,
MAXSIZE = UNLIMITED)
LOG ON
( NAME = N"LearnFileTable_Log", FILENAME = N"E:SQL2012DataMyData2012DataLearnFileTable_Log.ldf" ,
SIZE = 8128KB , MAXSIZE = 2097152KB , FILEGROWTH = 10%)
WITH FILESTREAM (NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N"LearnFileTable")
GO
三、创建FileTable数据表USE LearnFileTableGOCREATE TABLE MyFileTable01AS FileTableWITH(FileTable_Directory = "MyFileTable01",FileTable_Collate_Filename = database_default);GOselect * from [dbo].MyFileTable01;
