Vuelca la base de datos y la restauración puede llenarse de base de datos MSDB

Seleccione idioma Seleccione idioma
Id. de artículo: 152354 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

Síntomas

Error de SQL Executive tareas de y se devuelve el mensaje de error siguientes:
Error: 1105, gravedad: 17, estado 2
No se puede asignar espacio para objeto ' %. * s 'en la base de datos' %. * s ' porque el
' %. * s ' segmento está lleno. Si quedó sin espacio en Syslogs, vuelque el
registro de transacciones. De lo contrario, utilice ALTER DATABASE o sp_extendsegment para
aumentar el tamaño del segmento.
Las tareas basadas en SQL Executive que pueden fallar incluyen:
  1. Volcados programados y restauraciones.
  2. Las tareas se configuran para replicación.
  3. Alertas.
  4. Tareas programadas de Web.

Causa

La base de datos MSDB está lleno.

Solución

En SQL Server 6.5, las siguientes tablas se agregaron a la base de datos MSDB ayudan a mantener información de copia de seguridad:

sysbackupdetail: especifica un resumen de los dispositivos de copia de seguridad (volcar).
sysbackuphistory: especifica un resumen de cada operación de copia de seguridad (volcar).
sysrestoredetail: especifica un resumen de los dispositivos utilizados para restaurar (cargar).
sysrestorehistory: especifica un resumen de cada operación de restauración (cargar).

SQL Server mantiene automáticamente un historial de la copia de seguridad y restauración en línea completado en la base de datos MSDB. Esta información incluye quién realizó la copia de seguridad, cuando se realizó y qué dispositivos o archivos se almacena en.

El administrador del sistema tiene que supervisar estas tablas para eliminar entradas anteriores en estas tablas para asegurarse de que base de datos MSDB no se llene.

El siguiente procedimiento almacenado puede utilizarse para eliminar entradas de estas tablas del sistema en la base de datos MSDB.
use master
go
sp_configure 'allow', 1
go
reconfigure with override
go
drop proc sp_cleanbackupRestore_log
   go
   create proc sp_cleanbackupRestore_log
   @DeleteBeforeDate datetime
   as
   begin
      Delete from msdb.dbo.sysbackupdetail where backup_id
         in (Select backup_id from msdb.dbo.sysbackuphistory where backup_start <=
   @DeleteBeforeDate)
      Delete from msdb.dbo.sysbackuphistory where backup_start  <=
   @DeleteBeforeDate
      Delete from msdb.dbo.sysrestoredetail where restore_id
         in (Select restore_id from msdb.dbo.sysrestorehistory where backup_start <=
   @DeleteBeforeDate)
      Delete from msdb.dbo.sysrestorehistory where backup_start <=
   @DeleteBeforeDate
   end
go
sp_configure 'allow', 0
go
reconfigure with override
				
a continuación, tendrá que ejecutar el procedimiento almacenado recién creado. Por ejemplo, si desea eliminar todas las entradas en las tablas muestran en el procedimiento almacenado que ocurrieron antes de 2 de enero de 1997, podría ejecutar lo siguiente:
exec sp_cleanbackupRestore_log  '1/2/97'
				
si desea automatizar el código, se puede utilizar algo similar al siguiente:
declare @DeleteBeforeDate datetime
-- Modify the second parameter as necessary.
-- It is currently set to delete anything older than 60 days.
select  @DeleteBeforeDate = DATEADD(day, -60, getdate())
select  @DeleteBeforeDate

   exec sp_cleanbackupRestore_log  @DeleteBeforeDate

				
Nota: si recibe un 1105 para objeto 'syslogs' por favor, vea el artículo siguiente en Microsoft Knowledge Base: 110139 - INF: Causes of SQL Transaction Log Filling Up.

Propiedades

Id. de artículo: 152354 - Última revisión: lunes, 03 de febrero de 2014 - Versión: 4.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 6.5 Standard Edition
Palabras clave: 
kbnosurvey kbarchive kbmt kbprb KB152354 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): 152354

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