SQL Server 2005'te veritabanı yansıtma kullandığınızda küçültme işlemi yansıtmayı veritabanında yineleniyor

ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.

Makalenin İngilizcesi aşağıdaki gibidir:937531
Belirtiler
Microsoft SQL Server 2005'te veritabanı yansıtma kullandığınızda, SQL Server, asıl veritabanının yansıtmayı veritabanı için herhangi bir değişiklik otomatik olarak yayar. DBCC SHRINKDATABASE deyimi veya asıl veritabanını sıkıştırmak için DBCC SHRINKFILE ifadeleri çalıştırırsanız, ancak küçültme işlemi yansıtmayı veritabanında yineleniyor değil.
Neden
Veritabanı yansıtma sonra yalnızca bir denetim noktası fiziksel dosya boyutlarını değiştirir.
Pratik Çözüm

Yöntem 1

Bu soruna geçici bir çözüm bulmak için <a0></a0>, ana veritabanında yeni bir saklı yordam oluşturmak için aşağıdaki kodu çalıştırın. 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'

Yöntem 2

El ile bir denetim noktası dosyaları anapara daraltma sonra sorun.
Durum
Microsoft, "Geçerli Olduğu Ürünler" bölümünde listelenen Microsoft ürünlerinde bu sorunun olduğunu onaylamıştır.

Uyarı: Bu makalenin çevirisi otomatik olarak yapılmıştır

Özellikler

Makale No: 937531 - Son İnceleme: 05/12/2010 15:56:15 - Düzeltme: 2.0

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, 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

  • kbmt kbtshoot kbexpertiseadvanced kbsql2005engine kbprb KB937531 KbMttr
Geri bildirim