Při použití zrcadlení databáze SQL Server 2005 nevznikne operace zmenšení na zrcadlení databáze

Překlady článku Překlady článku
ID článku: 937531 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Příznaky

Použijete-li zrcadlení databáze Microsoft SQL Server 2005, SQL Server automaticky šíří změny v hlavní databázi zrcadlení databází. Ale pokud DBCC SHRINKDATABASE se spustit příkaz nebo příkazy DBCC SHRINKFILE zmenšení hlavní databáze, operace zmenšení nevznikne zrcadlení databáze.

Příčina

Zrcadlení databáze změnit fyzickou velikost pouze po kontrolního bodu.

Jak potíže obejít

Metoda 1

Chcete-li tento problém vyřešit, spusťte následující příkazy v hlavní databázi vytvořte novou uloženou proceduru. Využít tento uložený postup zmenšení namísto spuštění příkazu DBCC SHRINKDATABASE nebo příkazu DBCC SHRINKFILE hlavní databáze.
     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
Například pokud chcete zmenšit mydb databázi, spusťte následující příkaz.
EXEC sp_shrink_mirrored_database 'mydb'

Metoda 2

Ruční kontrolní bod vydat po zmenšení souborů jistiny.

Prohlášení

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části "Platí pro".

Vlastnosti

ID článku: 937531 - Poslední aktualizace: 22. května 2011 - Revize: 4.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbtshoot kbexpertiseadvanced kbsql2005engine kbprb kbmt KB937531 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:937531

Dejte nám zpětnou vazbu

 

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