7
Como configurar FileTables en SQL Server 2012 www.gpilatam.com Buen día. En esta ocasión vamos a aprender a configurar una nueva funcionalidad de SQL Server 2012 llamada FILETABLE. Que es FILETABLE? Sencillo, en pocas palabras esta funcionalidad permite almacenar archivos y carpetas en tablas de SQL Server permitiendo que las aplicaciones existentes accedan a estos archivos de manera convencional como si lo estuviesen haciendo desde el explorador de Windows, por lo que las aplicaciones no deberían de sufrir cambio alguno. (Tomado del MSDN del site de Microsoft) Las aplicaciones terminan viendo una carpeta compartida únicamente, de ahí que es bastante interesante su creación y funcionamiento. FIleTable está creado sobre FILESTREAM, son funcionamientos distintos y ninguna se sustituye a si misma, sin embargo como requisito fundamental para la creación de FILETABLE está que el FILESTREAM debe de estar activo. Más información sobre la explicación de FileTable puede ser encontrada en el siguiente link http://msdn.microsoft.com/en-us/library/ff929144.aspx Como configurar FILETABLE. 1. Primero vamos a validar que la funcionalidad este activa desde los servicios de SQL Server.

Utilizando Filetable en SQL Server 2012

Embed Size (px)

Citation preview

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

Buen día.

En esta ocasión vamos a aprender a configurar una nueva funcionalidad de SQL Server 2012 llamada

FILETABLE. Que es FILETABLE? Sencillo, en pocas palabras esta funcionalidad permite almacenar

archivos y carpetas en tablas de SQL Server permitiendo que las aplicaciones existentes accedan a estos

archivos de manera convencional como si lo estuviesen haciendo desde el explorador de Windows, por

lo que las aplicaciones no deberían de sufrir cambio alguno. (Tomado del MSDN del site de Microsoft)

Las aplicaciones terminan viendo una carpeta compartida únicamente, de ahí que es bastante

interesante su creación y funcionamiento.

FIleTable está creado sobre FILESTREAM, son funcionamientos distintos y ninguna se sustituye a si

misma, sin embargo como requisito fundamental para la creación de FILETABLE está que el FILESTREAM

debe de estar activo.

Más información sobre la explicación de FileTable puede ser encontrada en el siguiente link

http://msdn.microsoft.com/en-us/library/ff929144.aspx

Como configurar FILETABLE.

1. Primero vamos a validar que la funcionalidad este activa desde los servicios de SQL Server.

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

2. En caso que no este configurado procedan a realizarlo, de igual manera desde el Management

Studio de SQL Server lo pueden realizar, ingresando a las propiedades del servidor de base de

datos, Advance – FILESTREAM Access Level (Les recomiendo altamente ejecutar el paso 1 y 2)

3. Se debe de reiniciar el servicio de SQL Server luego de activarlo desde el Management Studio.

4. Seguidamente ejecutar el siguiente comando

Pues aunque parezca extraño, puede ya estar configurado el FILESTREAM, pero su valor de ejecución no

va a ser el que necesitamos.

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

5. Ahora ejecutamos un comando sencillo para la creación de la base de datos que utilizaremos

como prueba de la nueva funcionalidad.

CREATE DATABASE TestFileTable WITH FILESTREAM

(

NON_TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'Documentos_GPI'

);

6. Vamos a ejecutar el siguiente comando para la creación de un nuevo FILEGROUP de tipo

FILESTREAM

USE [master] GO

ALTER DATABASE [TestFileTable] ADD FILEGROUP [FG_Filestream] CONTAINS FILESTREAM

GO

7. Agregamos ahora un DATAFILE, tal y como normalmente lo hacemos cuando utilizamos la

funcionalidad del FILESTREAM

ALTER DATABASE [TestFileTable] ADD FILE ( NAME = N'FileTable', FILENAME =

N'C:\Documentos_SQL\FileTable' ) TO FILEGROUP [FG_Filestream]

GO

En este punto ya podemos ver como lo relacionado a FILESTREAM ha sido creado en la dirección

correspondiente

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

8. Seguidamente creamos la FILETABLE mediante el siguiente script

IF OBJECT_ID('dbo.DocumentosGPI', 'U') IS NOT NULL DROP TABLE dbo.DocumentosGPI

GO

CREATE TABLE dbo.DocumentosGPI AS FILETABLE

WITH

(

FILETABLE_DIRECTORY = 'Documentos_GPI', FILETABLE_COLLATE_FILENAME = database_default

)

GO

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

9. Podemos ver como la tabla ha sido creada

Podemos hacer un select a la tabla para corroborar que no tenga archivos.

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

10. Ahora para acceder el recurso compartido se accede desde el explorador de Windows o desde la

venta Run

11. Para copiar archivos basta con hacer un copy – paste de archivos entre una carpeta y nuestra

nueva carpeta creada para FILETABLE

12. Realizamos nuevamente la consulta a la tabla y obtenemos los siguientes resultados.

Como configurar FileTables en SQL Server 2012

www.gpilatam.com

13. Si el archivo es eliminado de la ruta, de igual manera es eliminado de SQL Server, en estos casos

SQL Server traduce las operaciones de copiado y borrado a comandos TSQL para mantener la

tabla.

Se realiza nuevamente la consulta luego del borrado del archivo.