FileTable en SQL Server 2012
SQL Server 2012 incluye una nueva característica llamada FileTable, lo que permite el FileTable es poder tener dentro de la base de datos un tipo especial de tabla en la cual se puedan almacenar archivos y directorios, de la misma forma en que se hace en un sistema de archivos NTFS.
De esta forma los archivos almacenados en un FileTable puede ser accedidos por otras aplicaciones de la misma forma en que se acceden archivos en el sitema de archivos NTFS. La ventaja de que presenta FileTable es que el contenido es presentado a las aplicaciones como un directorio compartido.
Cuando se realiza una operación de creación de archivos, borrado o modificación, el comando es interceptado por SQL Server que hace posible que se reflejen los cambios dentro del FileTable.
A muchos parecerá familiar al concepto de FILESTREAM, sin embargo se puede configurar FileTables de forma separada del FILESTREAM, incluso si lo desea puede seguir utilizando FILESTREAM. Para habilitar el FileTable primero tienen que habilitar el FILESTREAM en la instancia que desean crear el FileTable.
1. Para habilitar el FILESTREAM ejecutamos el siguiente comando
EXEC sp_configure filestream_access_level, 2 RECONFIGURE
2. Debemos crear una nueva base de datos o utilizar una existente, en mi caso voy a crear la base de datos ComunidadWindows
CREATE DATABASE ComunidadWindows
ON
PRIMARY ( NAME = ComunidadWindows,
FILENAME = 'c:\Datos\ComunidadWindowsData.mdf'),
FILEGROUP FileStreamGroupCW CONTAINS FILESTREAM( NAME = ComunidadWindows03,
FILENAME = 'c:\Datos\FileStream')
LOG ON ( NAME = ComunidadWindowsLog,
FILENAME = 'c:\Datos\ComunidadWindowsLog.ldf')
GO
3. Debemos habilitar el acceso Non-Transactional a nivel de la base de datos
ALTER DATABASE ComunidadWindows
SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL , DIRECTORY_NAME = N'FileTable');
GO
4. Ahora creamos la tabla tipo FileTable
Use ComunidadWindows
CREATE TABLE Documentos AS FileTable
WITH
(
FileTable_Directory = 'Documentos',
FileTable_Collate_Filename = database_default
);
GO
5. Podemos ver que nuestro FileTable fue creado
6. Podemos acceder el FileTable creado como un directorio compartido
7. Podemos copiar archivos en esa carpeta utilizando Copiar y Pegar
8. Si hacemos un select podemos ver que los archivos están dentro de SQL Server
Saludos,
Ing. Eduardo Castro Martínez, PhD – Microsoft SQL Server MVP
http://tinyurl.com/ComunidadWindows
http://tiny.cc/comwindows
Costa Rica
Technorati Tags: SQL Server
LiveJournal Tags: SQL Server
del.icio.us Tags: SQL Server
http://ecastrom.spaces.live.com
http://universosql.blogspot.com
http://todosobresql.blogspot.com
http://todosobresqlserver.wordpress.com
http://mswindowscr.org/blogs/sql/default.aspx
Comments