Cómo hacer copia de una base de datos de Microsoft Data Engine mediante Transact-SQL

Seleccione idioma Seleccione idioma
Id. de artículo: 241397 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Resumen

Herramientas de cliente de SQL no forman parte de la instalación de Microsoft Data Engine (MSDE). Por lo tanto, para la copia de seguridad de una base de datos de MSDE, puede utilizar la instrucción de Transact-SQL BACKUP DATABASE, que se describe en este artículo.

Más información

Si dispone de Microsoft Access 2000, puede utilizar el comando BACKUP en el menú Herramientas de base de datos de un proyecto de Access para realizar una copia de seguridad de una base de datos MSDE. Si están instaladas herramientas de cliente de SQL, puede utilizar el Administrador corporativo de SQL para realizar una copia de seguridad de una base de datos MSDE.

Sin embargo, si sólo dispone de MSDE instalada, no es necesario estas opciones. Por lo tanto, para realizar una copia de una base de datos de MSDE de seguridad, puede utilizar la instrucción BACKUP DATABASE de Transact-SQL y ejecutar osql.exe (una herramienta de consulta de línea de comandos).

Para obtener información acerca de todos los procedimientos almacenados utilizados en este artículo, vea los libros en pantalla de SQL Server.

Nota El código siguiente es un ejemplo de cómo utilizar los diversos procedimientos almacenados con MSDE para realizar una copia de seguridad. Este código no copia de seguridad la base de datos crítica de misión "tal cual" y es posible que requieren algunos ninguna modificación para ejecutarse en su entorno. Base de datos por ejemplo, nombre, nombre del servidor y así sucesivamente.
  • Pegue la siguiente secuencia de comandos de Transact-SQL en el Bloc de notas y guárdelo en un archivo denominado MyBackupScript.sql :
    --This Transact-SQL script creates a backup job and calls sp_start_job to run the job.
    
    -- Create job.
    -- You may specify an e-mail address, commented below, and/or pager, etc.
    -- For more details about this option or others, see SQL Server Books Online.
    USE msdb
    EXEC sp_add_job @job_name = 'myTestBackupJob',
        @enabled = 1,
        @description = 'myTestBackupJob',
        @owner_login_name = 'sa',
        @notify_level_eventlog = 2,
        @notify_level_email = 2,
        @notify_level_netsend =2,
        @notify_level_page = 2
    --  @notify_email_operator_name = 'email name'
    go
    
    -- Add job step (backup data).
    USE msdb
    EXEC sp_add_jobstep @job_name = 'myTestBackupJob',
        @step_name = 'Backup msdb Data',
        @subsystem = 'TSQL',
        @command = 'BACKUP DATABASE msdb TO DISK = ''c:\msdb.dat_bak''',
        @on_success_action = 3,
        @retry_attempts = 5,
        @retry_interval = 5
    go
    
    -- Add job step (backup log).
    USE msdb
    EXEC sp_add_jobstep @job_name = 'myTestBackupJob',
        @step_name = 'Backup msdb Log',
        @subsystem = 'TSQL',
        @command = 'BACKUP LOG msdb TO DISK = ''c:\msdb.log_bak''',
        @on_success_action = 1,
        @retry_attempts = 5,
        @retry_interval = 5
    go
    
    -- Add the target servers.
    USE msdb
    EXEC sp_add_jobserver @job_name = 'myTestBackupJob', @server_name = N'(local)'
    
    -- Run job. Starts the job immediately.
    USE msdb
    EXEC sp_start_job @job_name = 'myTestBackupJob'
    					
  • Desde la línea de comandos, utilice la siguiente sintaxis de osql para ejecutar la secuencia de comandos Transact-SQL:
       OSQL -Usa -PmyPasword -i myBackupScript.sql -n
    					
Quizás desee programar el trabajo instead of ejecutarlo manualmente. Para ello, puede utilizar el código anterior para crear el trabajo. En lugar de llamar al procedimiento sp_start_job almacenado para ejecutar el trabajo manualmente, puede utilizar el procedimiento sp_add_jobschedule almacenados para configurar el trabajo para ejecutar en una fecha y hora especificadas. El Agente SQL administra la programación de trabajo. Este código muestra el uso del procedimiento sp_add_jobschedule almacenados:
-- Use the job creation code from the previous sample and call sp_add_jobschedule instead of sp_start_job.
-- Schedule job.
USE msdb
EXEC sp_add_jobschedule @job_name = 'myTestBackupJob', 
    @name = 'ScheduledBackup_msdb',
    @freq_type = 4, --daily
    @freq_interval = 1, --once
    @active_start_time = '153000' --(3:30 pm) 24hr HHMMSS.
go

--Use the following code to remove or delete the backup job, created earlier, and then remove the job from the Scheduler.
-- Delete scheduled job.
USE msdb
EXEC sp_delete_jobschedule @job_name = N'myTestBackupJob', 
	@name = N'ScheduledBackup_msdb'

-- Delete job.
USE msdb
EXEC sp_delete_job @job_name = N'myTestBackupJob'
				
si desea crear un trabajo de copia de seguridad o una copia de seguridad programada, puede ejecutar la instrucción BACKUP DATABASE (o BACKUP LOG) con osql directamente desde la línea de comandos. Si utiliza el -Q argumento, osql se ejecuta la instrucción de Transact-SQL y, a continuación, sale. Por ejemplo:
OSQL -Usa -PmyPasword -n -Q "BACKUP DATABASE msdb TO DISK = 'c:\msdb.dat_bak'"
				
puesto que existen muchas otras opciones que desee para especificar con la instrucción BACKUP DATABASE, consulte los libros en pantalla de SQL Server para obtener más detalles:

http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/sqlbol.exe

Referencias

Para descargar una versión actualizada de los libros en pantalla de SQL Server 2000, visite el siguiente sitio Web de Microsoft:
http://technet.microsoft.com/en-us/sqlserver/bb331756.aspx
Para descargar la versión de los libros en pantalla de Microsoft SQL Server 7.0, visite el siguiente sitio Web de Microsoft:
http://download.microsoft.com/download/SQL70/File/2/Win98/En-US/SQLBOL.exe
Temas de los libros en pantalla:: "Copias de seguridad de base de datos"; "sp_add_job"; "sp_add_jobstep"; "sp_add_jobserver"; "sp_start_job"; "sp_add_jobschedule"; "sp_delete_jobschedule"; "sp_delete_job"

Propiedades

Id. de artículo: 241397 - Última revisión: miércoles, 14 de noviembre de 2007 - Versión: 4.3
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft Data Engine 1.0
Palabras clave: 
kbmt kbdownload kbdatabase kbhowto KB241397 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 241397
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com