Recomendado: Programación avanzada ASP 3.0 (45) La ejecución asincrónica se refiere a la recuperación de datos en segundo plano, y los datos que ha obtenido se pueden usar en la página web antes de que se devuelvan todos los datos. Aunque pueden ser necesarios todos los datos, el trabajo asincrónico puede comenzar a procesar datos al menos de antemano. También puede permitir a los usuarios ver cierto contenido primero, lo que hace que el sitio web
Descripción general
SQL Distributed Management Objects (SQL-DMO) proporcionan a los desarrolladores métodos para realizar tareas ordinarias utilizando el programa y los lenguajes de secuencias de comandos, extendiendo así la funcionalidad del servidor SQL. Este artículo analiza cómo usar inteligentemente SQL-DMO para crear aplicaciones ASP de copia de seguridad y verificación de bases de datos.
premisa
Debe tener el conocimiento sobre la copia de seguridad de la base de datos de SQL Server. Además, debe agregar una referencia a la biblioteca SQL-DMO al archivo global.asa. La siguiente es una referencia a SQL Server 2000:
| El siguiente es el contenido citado: <!-metadata type = typelib name = Microsoft Biblioteca de objetos sqldmo uuid = {10010001-E260-11CF-AA68-00AA004A34D5} Versión = 8.0-> |
El código de muestra de este artículo es aplicable a SQL 7.0, MSDE y SQL Server 2000.
Alegría y tristeza
El uso de objetos SQL-DMO hace que las personas sean felices y tristes. Proporciona características tan ricas que no se sabe cómo usarlo. Este artículo solo discute las propiedades y métodos del objeto involucrados en los ejemplos. Puede encontrar mucha información relevante sobre la enseñanza en línea de SQL Server.
Sqldmo.sqlserver
Se utiliza para conectarse a la base de datos de SQL Server:
| El siguiente es el contenido citado: <% Dim SRV Establecer srv = server.createObject (sqldmo.sqlserver) srv.logInTimeOut = 15 Srv.Connect ServerName, nombre de usuario, contraseña %> |
Aquí, la base de datos de SQL Server está conectada sustituyendo el nombre de usuario y la contraseña. Si desea utilizar la autenticación de identidad de NT, configure su propiedad LoginSeCure en verdadero (verdadero), ignore el nombre de usuario y la contraseña sustituidos, y use la información de registro de NT.
Sqldmo.database
Enumera las bases de datos en el servidor. En este ejemplo, la base de datos enumerada está respaldada. El siguiente código enumera la base de datos en el servidor en el menú desplegable:
| El siguiente es el contenido citado: <% Dim SRV Dim objdb Establecer srv = server.createObject (sqldmo.sqlserver) srv.logInTimeOut = 15 Srv.Connect ServerName, nombre de usuario, contraseña Establecer objdb = server.createObject (sqldmo.database) %> <Seleccionar nombre = fdatabase> <% Para cada objdb en srv.databases Si objdb.systemObject = false entonces %> <Cection> <%= objdb.name%> </opción> <% Final si Próximo %> </Select> |
Sqldmo.backupdevice
Enumera los dispositivos de copia de seguridad instalados en el servidor. Recomiendo usar un dispositivo de respaldo para hacer una copia de seguridad de la base de datos. Porque de esta manera, puede usar la función de verificación de SQL-DMO para verificar la situación de copia de seguridad. El siguiente código enumera los dispositivos de copia de seguridad en el servidor:
| El siguiente es el contenido citado: <% Dim SRV Dim objdevice Establecer srv = server.createObject (sqldmo.sqlserver) srv.logInTimeOut = 15 Srv.Connect ServerName, nombre de usuario, contraseña Establecer objdevice = server.CreateObject (sqldmo.backupdevice) Para cada objdevice en Srv.Backupdevices Response.Write ObjDevice.Name <br> Próximo %> |
Sqldmo.backup
Esto es lo que queremos usar para hacer una copia de seguridad de los objetos centrales. Tiene muchas propiedades que nos permiten hacer copias de seguridad al mismo nivel que el administrador de SQL Enterprise. Primero discutamos las propiedades utilizadas en este ejemplo.
BackupSetName - Nombre del archivo de copia de seguridad.
Base de datos: la base de datos se respalda.
Acción: todas las copias de seguridad incrementales. Hay otras opciones, pero solo estas dos se usan en el ejemplo.
BackupSetDescription - Descripción de copia de seguridad.
Archivos: opciones de copia de seguridad de archivos. Indica la ruta y el nombre del archivo de copia de seguridad, como: c: /pubs.bak. Al usar la copia de seguridad del archivo, el siguiente nombre del dispositivo de copia de seguridad debe configurarse en vacío.
Dispositivos: dispositivo de copia de seguridad en el servidor. Si está utilizando un dispositivo de respaldo, la opción de copia de seguridad del archivo anterior debe configurarse en vacío.
Truncatelog - Opción de registro de respaldo. Las opciones son:
Nolog: sin copia de seguridad del registro de transacciones.
NotRuncate - registros de transacciones de respaldo. Se proporcionan marcas de tiempo en el registro.
Truncate: registros de transacciones de copia de seguridad, pero no mantiene registros de transacciones.
Inicializar: si se establece en True, el dispositivo de copia de seguridad reemplazará a otros medios de copia de seguridad y se convertirá en la primera opción.
Aquí está el archivo Backup.asp en el ejemplo:
| El siguiente es el contenido citado: < %@ Idioma = vBscript %> <html> <Body> <!-contiene toda la información de inicio de sesión-> <!-#include file = login.asp-> <% Dim Objbackup 'Crear objeto de respaldo Establecer objbackup = server.createObject (sqldmo.backup) 'Establecer propiedades objbackup.backupSetName = request (fname) objbackup.database = request (fdatabase) objbackup.action = request (facción) objbackup.backupSetDescription = request (fdescription) objbackup.files = request (fbackupfile) objbackup.devices = request (fdevice) objbackup.truncatelog = request (Flog) objbackup.initialize = request (finit) 'Base de datos de copia de seguridad objbackup.sqlbackup srv 'Desconectar del servidor srv.disconnect 'liberar establecer srv = nada establecer objbackup = nada %> <p> Se inició la copia de seguridad, use <a href = disposites.asp> verificar </a> opción para ver si se completó con éxito. <A href = default.asp> Haga clic aquí </a> para volver. </p> </body> </Html> |
Verificación de copia de seguridad
Si está programando en VB o C, puede usar los disparadores de eventos para verificar el proceso de copia de seguridad, pero no en ASP. Utilizamos el método ReadBackupHeader del objeto sqldmo.backupdevice para confirmar si la copia de seguridad es exitosa.
A continuación se muestra el código de archivo Verification.asp, que enumera el nombre del dispositivo de copia de seguridad y proporciona información sobre la copia de seguridad más reciente.
| El siguiente es el contenido citado: < %@ Idioma = vBscript %> <html> <Body> <!-Información de inicio de sesión-> <!-#include file = login.asp-> <p> <% Dim objdevice Dim objresults Dim icount Dim XCount 'Crear objeto de dispositivo de respaldo Establecer objdevice = server.CreateObject (sqldmo.backupdevice) 'Loop hasta que se encuentra un dispositivo coincidente Para cada objdevice en Srv.Backupdevices Si objdevice.name = request (fname) entonces 'Encuentra el dispositivo coincidente y comience a leer el resultado Establecer objresults = objdevice.readbackupheader Para icount = 1 a objresults.rows Para xcount = 1 a objresults.columns%> <b> <%= objresults.columnname (xcount)%> </b>: <%= objresults.getColumnstring (icon, xcount)%> <br> < %Siguiente %> <hr> < %Siguiente %> <%Final si%> <%Siguiente%> <% srv.disconnect establecer srv = nada establecer objdevice = nada Establecer objresults = nada %> </body> </Html> |
El método ReadBackupHeader devuelve el objeto QueryResults. Use su atributo de filas para obtener el número de registro de copia de seguridad. Luego busque información de columna para cada fila de registros.
Otras características
SQL-DMO también proporciona capacidades remotas de respaldo y recuperación. Este artículo no implica la recuperación de la base de datos, pero SQL-DMO tiene fuertes funciones de recuperación.
Compartir: Nivel de entrada de desarrollo básico: comparación entre JSP y ASP Desde que Microsoft lanzó ASP (ActiveServerPage), ha sido amado por los desarrolladores web por sus poderosas funciones y simplicidad y fácil de aprender. Sin embargo, tiene problemas comunes con los productos de Microsoft y solo se puede usar en las plataformas de Windows, aunque se puede usar en Linux agregando controles