La operación de compresión no está duplicada en la base de datos reflejada al utilizar la creación de reflejos de bases de datos en SQL Server 2005

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

Síntomas

Cuando utilice el reflejo de base de datos en Microsoft SQL Server 2005, SQL Server propaga automáticamente los cambios realizados en la base de datos principal a la base de datos reflejada. Sin embargo, si ejecuta DBCC SHRINKDATABASE o varias instrucciones DBCC SHRINKFILE para reducir la base de datos principal, la operación de compresión no está duplicada en la base de datos reflejada.

Causa

Creación de reflejos de bases de datos cambiará los tamaños de archivo físico sólo después de un punto de control.

Solución

Método 1

Para evitar este problema, ejecute las instrucciones siguientes para crear un nuevo procedimiento almacenado en la base de datos master. Then, use this stored procedure to shrink the principal database instead of running the DBCC SHRINKDATABASE statement or the DBCC SHRINKFILE statement.
     use master
       go
       if object_id ('sp_shrink_mirrored_database', 'P') is not null 
         drop proc sp_shrink_mirrored_database 
       go
       create procedure sp_shrink_mirrored_database @dbname sysname, @target_percent int = null
       as
       begin
         declare @filename sysname
         declare @filesize int
         declare @sql nvarchar(4000)
         
         if @target_percent is null
           dbcc shrinkdatabase (@dbname)
         else 
           dbcc shrinkdatabase (@dbname, @target_percent)
         declare c cursor for 
         select [name], [size] from sys.master_files where type=0 and database_id = db_id (@dbname)
         open c
         fetch next from c into @filename, @filesize
         while @@fetch_status=0
         begin
           set @filesize=(@filesize+1)*8
           set @sql='alter database [' + @dbname + '] modify file ( name=' 
             + @filename + ', size=' + cast(@filesize as nvarchar) + 'kb )'
           execute sp_executesql @sql
           fetch next from c into @filename, @filesize
         end
         close c
         deallocate c
       end
       go
For example, if you want to shrink the mydb database, run the following statement.
EXEC sp_shrink_mirrored_database 'mydb'

Método 2

Emitir un punto de control manual tras la reducción de los archivos en el principal.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Propiedades

Id. de artículo: 937531 - Última revisión: miércoles, 12 de mayo de 2010 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palabras clave: 
kbmt kbtshoot kbexpertiseadvanced kbsql2005engine kbprb KB937531 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): 937531

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