Cómo utilizar la gestión de transacciones de operaciones de bases de datos de SQL Server 2012
1. Modificar las propiedades del motor de base de datos
Abra el "Administrador de configuración de SQL Server" y modifique las propiedades del motor de base de datos SQL Server.
(1) Habilitar FILESTREAM para acceso a Transact-SQL
Marque esta casilla para habilitar FILESTREAM para acceso a Transact-SQL. Esta casilla de verificación debe seleccionarse para utilizar otras opciones de control. Si esta opción no está habilitada, no se pueden agregar grupos de archivos FileStream.
(2) Habilite FILESTREAM para el acceso a la transmisión de E/S de archivos
Seleccione esto para habilitar el acceso a la transmisión Win32 para FILESTREAM.
(3) Nombre del recurso compartido de Windows
Utilice este control para ingresar el nombre del recurso compartido de Windows utilizado para almacenar los datos de FILESTREAM. El valor predeterminado es el nombre de esta instancia de SQL Server.
(4)Permitir que los clientes remotos habiliten el acceso de transmisión a los datos de FILESTREAM
Seleccionar esta opción de control permite a los clientes remotos acceder a los datos de FILESTREAM en este servidor.
2. Modificar las propiedades del servidor
Abra SQL Server Management Studio y modifique la configuración de la instancia. La configuración predeterminada es la siguiente:
Las opciones anteriores se explican a continuación:
(1) "Nivel de acceso a FILESTREAM" muestra el nivel de FILESTREAM actualmente admitido por la instancia de SQL Server. Para cambiar el nivel de acceso, seleccione uno de los siguientes valores:
Desactivado
Los datos de objetos binarios grandes (BLOB) no se pueden almacenar en el sistema de archivos. Este es el valor predeterminado, es decir, nivel de acceso al flujo de archivos = 0
Acceso a Transact-SQL habilitado
Se puede acceder a los datos de FILESTREAM mediante Transact-SQL, pero no a través del sistema de archivos, es decir. files Nivel de acceso a la transmisión=1
Acceso total habilitado
Se puede acceder a los datos de FILESTREAM mediante Transact-SQL y a través del sistema de archivos. es decir, nivel de acceso al flujo de archivos = 0
Nota: cuando habilita FILESTREAM por primera vez, es posible que deba reiniciar su computadora para configurar el controlador.
(2) "FILESTREAM *** Enjoy Name" muestra el nombre de solo lectura del archivo FILESTREAM *** Enjoy seleccionado durante el proceso de instalación.
En esta práctica de laboratorio, configuramos el "nivel de acceso a FILESTREAM" para permitir el acceso completo.
Si lo hace a través de un script T-SQL, ejecute el siguiente script:
EXEC sys.sp_configure N'filestream access level', N'2'
RECONFIGURAR CON OVERRIDE
Nota: Una vez completada la configuración, reinicie la instancia. Luego, reinicie la instancia.
3. Configurar el firewall
Para utilizar FILESTREAM en un entorno protegido por firewall, tanto el cliente como el servidor deben poder resolver nombres DNS en el servidor que contiene el archivo FILESTREAM. . FILESTREAM requiere abrir los puertos 139 y 445 para disfrutar de archivos de Windows.
II. Configurar el grupo de archivos
1. Agregar grupo de archivos
Después de completar las operaciones anteriores, puede agregar un grupo de archivos específico de FileStream a la base de datos.
Si opera a través de un script, ejecute el siguiente script:
ALTER DATABASE [db01] AGREGAR FILEGROUP [FileStreamFileGroup] CONTIENE FILESTREAM
2. /p>
p>
Después de completar las operaciones anteriores, puede agregar un archivo de base de datos tipo FilStream a la base de datos.
En este ejemplo, el sistema no creará un archivo mdf o ndf para el tipo de archivo de datos FileStream, pero creará automáticamente una carpeta en la carpeta C:\SqlData con el nombre lógico C:\SqlData\ Datos de archivo. El archivo filestream.hdr es el archivo de encabezado del contenedor FILESTREAM. Cuando se elimina la base de datos, el mdf, el ndf y los registros se eliminarán junto con la carpeta.
Si lo hace mediante script, ejecute el siguiente script:
ALTER DATABASE [db01] ADD FILE ( NAME = N'FileData', FILENAME = N'C:\SqlData\FileData' ) A FILEGROUP [FileStreamFileGroup]
Nota: En el ejemplo anterior, C:\SqlData debe existir para ejecutar el script; se recomienda utilizar el botón de selección a la derecha para seleccionar la ruta. Si la ruta no existe, se informará un error:
Al mismo tiempo, la carpeta no se puede repetir, es decir, no puede haber C:\SqlData\FileData. De lo contrario, también se informará un error:
3. Habilitar acceso no transaccional
FileTable permite que las aplicaciones de Windows obtengan datos FILESTREAM para identificadores de archivos de Windows sin requerir una transacción de SQL Server. Para permitir este acceso no transaccional a los archivos almacenados en SQL Server, debe especificar el nivel de acceso no transaccional requerido en el nivel de la base de datos para cada base de datos que contenga FileTable.
Las descripciones de las opciones son las siguientes:
(1) Acceso no transaccional a FILESTREAM
Especifique una de las siguientes opciones para acceder a los datos de FILESTREAM almacenados en FileTable desde el sistema de archivos Para acceso no transaccional: APAGADO, READ_ONLY o COMPLETO.
Si FILESTREAM no está habilitado en el servidor, debe especificar un nivel de acceso no transaccional. Si FILESTREAM no está habilitado en el servidor, este valor se establecerá en APAGADO y se deshabilitará.
(2) Nombre del directorio FILESTREAM
Especifique un nombre de directorio para los datos FILESTREAM asociados con la base de datos seleccionada. En la jerarquía de carpetas de FileTable, este directorio a nivel de base de datos será un subdirectorio del nombre de disfrute especificado para FILESTREAM en el nivel de instancia, y también será el directorio principal de FileTable creado en la base de datos.
Si no se proporciona el nombre del directorio al habilitar el acceso no transaccional, se debe proporcionar más tarde para crear FileTable en la base de datos.
Si se ejecuta a través de un script, se verá así:
ALTER DATABASE db01
SET FILESTREAM ( NON_ TRANSACTED_ACCESS = FULL, DIRECTORY_NAME = N'ImageFiles' )
Nota: Al cambiar una base de datos existente, llame a la instrucción ALTER DATABASE (Transact-SQL) con la opción DIRECTORY_NAME FILESTREAM. Al cambiar los nombres de los directorios usando estas opciones, la base de datos debe bloquearse exclusivamente y no se pueden abrir identificadores de archivos.
Explicación: Para verificar si la base de datos tiene habilitado el acceso no transaccional, puede consultar la vista del catálogo usando el siguiente script:
SELECT DB_NAME(database_id), non_transacted_access, non_transacted_access_desc p>
DESDE sys.database_filestream_options
3. Crear FileTable
1 Cree la primera FileTable
"SQL Server Management Studio"
.CREAR TABLA ImageTable1 COMO FILETABLE
La plantilla oficial es:
Usar [db01]
CREAR TABLA [dbo].[ImageTable1 ] COMO FILETABLE EN [ PRIMARIO] FILESTREAM_ON [FileStreamFileGroup]
CON
(FILETABLE_DIRECTORY = N'ImageTable1', FILETABLE_COLLATE_FILENAME = Chinese_PRC_CI_AS)
2. Cree una segunda FileTable
CREAR TABLA ImageTable2 COMO FILETABLE
3 Obtenga la ruta ****heed
Después de crear la tabla de archivos, habrá una tabla de archivos correspondiente*. * *directorio compartido, la ruta del directorio se puede obtener a través de la función incorporada:
SELECT FileTableRootPath('ImageTable1')
Los resultados arrojados por este experimento son los siguientes: \\\ImageFiles/ ImageTable1
4. Ver
A través del Explorador de Windows, puede ver que se ha creado la carpeta nombrada con el GUID.
Ver la estructura de la tabla a través de SQL Server Management Studio.
4. Operación
1. Agregar archivos a la carpeta
Agregue el archivo A01.GIF.GIF a través del Explorador de Windows. Luego ejecute el script:
seleccione * de ImageTable1
Los resultados son los siguientes:
Como puede ver, SQL Server agrega registros automáticamente a la tabla.
2. Cambiar nombre del archivo
Ejecute el siguiente script:
Actualizar ImageTable1 set name='Cup.GIF' donde nombre='A01.GIF' p>
A través del "Explorador de Windows"
A través del "Explorador de Windows", verifique la carpeta \\SQL1\SqlFile\ImageFiles\ImageTable1, puede ver que el archivo A01.GIF ha sido renombrado para Cup .GIF.
3. Ver la carpeta compartida
Podemos continuar copiando otros archivos y luego ver la carpeta a través del "Explorador de Windows".
4. Eliminar archivos
Puedes usar scripts para eliminar, por ejemplo:
Eliminar ImageTable1 donde nombre='Cup.GIF'
O elimine el archivo directamente a través del "Explorador de Windows".
V. Copia de seguridad y restauración
1. Realice una copia de seguridad de la base de datos
Cuando utilice SQL Server para realizar una copia de seguridad de la base de datos, los datos de FILESTREAM se realizarán juntos. con los datos estructurados en la base de datos.
2. Copia de seguridad parcial
Si no desea realizar una copia de seguridad de los datos de FILESTREAM junto con los datos relacionales, puede utilizar una copia de seguridad parcial para excluir el grupo de archivos de FILESTREAM.