Dosya grubu ayarlarını RESTRICTED_USER yerine MULTI_USER olarak değiştirdikten sonra neden veritabanı yansıtmam bozuldu?


9

Ortamım şudur: VMWare 5.5 yaşamsallaştırılmış sunucu MS Windows Server 2008R2 Enterprise etki alanı ve SQL Server 2008 R2 Enterprise . Fiber kanal bağlantılı merkezi depolama.

İçinde bölümlerim var SQL Server DB. 2 file groups: Biri canlı verilerle (FG1) , ikincisi geçmiş verilerle (HDG) var .

İkinci dosya grubu read-only. Her ay bölümler halinde hareket ediyorum - geçmiş verilere (önceki aydan) yeni veriler ekliyorum. Bu işlem otomatiktir .

Veritabanımızı yeni bir sunucuya taşıdık. Başlangıçta, işlemi manuel olarak yapmak zorunda kaldım . Bu işlem sırasında aynam aşağıdaki arıza ile bozulur (3. işlemden sonra - aşağıdaki işlem akışına bakın):

PRENSİP SUNUCUDA:

LOG'da SATIR 0:

Date        15.6.2015 20:54:11
Log     SQL Server (Current - 16.6.2015 07:55:00)

Source      spid84

Message
Setting database option MULTI_USER to ON for database MYDB.

LOG'da SATIR 1:

Date        15.6.2015 20:54:11
Log     SQL Server (Current - 16.6.2015 07:55:00)

Source      spid18s

Message
Error: 1453, Severity: 16, State: 1.

LOG'da SATIR 2:

Date        15.6.2015 20:54:11
Log     SQL Server (Current - 16.6.2015 07:55:00)

Source      spid18s

Message
'TCP://10.201.27.154:5022', the remote mirroring partner for database 'MYDB', encountered error 823, status 3, severity 24. Database mirroring has been suspended.  Resolve the error on the remote server and resume mirroring, or remove mirroring and re-establish the mirror server instance.

HATIRLATMA: Bu işlemi eski sunucuda birçok kez otomatik olarak yürüttüm ve böyle bir hatayla karşılaşmadım.

AYNA SUNUCUSUNDA:

LOG'da SATIR 1:

Date        15.6.2015 20:54:11
Log     SQL Server (Archive #3 - 15.6.2015 21:33:00)

Source      spid17s

Message
Error: 823, Severity: 24, State: 3.

LOG'da SATIR 2:

Date        15.6.2015 20:54:11
Log     SQL Server (Archive #3 - 15.6.2015 21:33:00)

Source      spid17s

Message
The operating system returned error 5(Access is denied.) to SQL Server during a write at offset 0000000000000000 in file 'e:\Databases\MYDB_HISTRICAL.ndf'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

SÜREÇİM AŞAĞIDAKİ:

1. Veritabanının birkaç yedeklemesini yapıyorum (Tam, Dosya Grubu ve TLog yedekleri).

2. DB'yi ayarladım RESTRICTED_USER(geçmiş dosya grubu bayrağının salt okunur olarak kaldırılmasına izin vermek için).

2a. READ-ONLYTarihsel Dosya Grubumun bayrağını kaldırıyorum .

3. DB'yi MULTI_USERyazılımımızın normal çalışmasına izin verecek şekilde ayarladım .

4. Verileri geçmiş dosya grubuna taşınacak şekilde bölümleri güncelleştiriyorum.

5. Ben adımları tekrarlayın 2 , 2a ve 3 Ben SADECE yine tarihsel dosya grubu OKUMA ayarlayabilirsiniz böylece de.

6. Tekrar yedekleme yaparım.

Bu hatayı neden aldığımı düşünen var mı?

EDIT: Aynı sorunu, prosedürün farklı aşamasında alırız. Bu, aynanın bozulduğu tek durumdur, bu yüzden sorunun prosedürün içinde olduğunu varsayalım, ancak nedenini bulamıyorum!


Error: 823, Severity: 24donanım sorunu gibi görünüyor. Bozuk olup olmadıklarını görmek için DISKS'inizi kontrol edin. Temiz olduklarından emin olmak için veritabanlarında checkdb komutunu çalıştırın.
Kin Shah

@Kin'den emin değilim. Yepyeni optik ekli özel IBM depolama alanımız var. Yaklaşık 3 aydır. Ve böyle bir hata aldığımız tek zamandı. Aslında bu hatayla yaklaşık 10 satır var, ancak hepsi bu süre zarfında oldu. Aynayı yok edip yeniden yaratıyoruz. Aynayı kaldırmak için sorunumuz var. Bu yüzden manuel olarak kaldırıyoruz.
Bogdan Bogdanov

Hata 823 with sev 24bir donanım sorunudur. Yerel sql sunucu yedekleri yerine dosya düzeyinde yedeklemeler mi yapıyorsunuz veya sunucuda herhangi bir virüsten koruma yazılımı mı çalışıyor? 823 hatası oluştuğunda sizi uyarmak için sql agent uyarıları koymalısınız - bu komut dosyası size yardımcı olacaktır . Ayrıca, 823 almak için kötü bir hatadır - I / O işleminin işletim sistemi düzeyinde başarısız olduğunu ve G / Ç alt sisteminin bozulmaya neden olduğunu söylüyor - sql sunucusu sayfa checsum
Kin Shah

Her iki yedekleme türünü de yapıyoruz, @Kin. Ayrıca VmWare replicationbir remote host. Sana bir cevap yazana kadar fark ettiğim şey, aynayı normal şekilde yok edemeyeceğimiz. Dosya kilitlendi ve stop SQL servicedb dosyalarını başka bir dizine taşımamız gerekiyor . O andan itibaren her şey yolunda (Günlükleri kullanarak kontrol sys.xp_readerrorlog). Başka bir düşünce, o anda bir VmWare çoğaltması gerçekleşir, ancak bunun süreci nasıl etkileyeceğinden emin değilim (çok az şey biliyorum VmWare).
Bogdan Bogdanov

We do both type of backupsbu bir sorun olabilir. VM anlık görüntüleri yerel sql sunucusu yedeklemelerine alternatif olarak kullanılmamalıdır.
Kin Shah

Yanıtlar:


0

Sorunu bulduk. SQL Server'da bir hatadır. Ayarladığımızda READ_WRITE, komut DB'ye düzgün bir şekilde aktarılmaz mirror. partitionsYansıtma sunucusunda komut dosyası başlatma değiştiğinde bir hata oluştu. Bundan sonra senkronizasyon bozulur ve aynadaki DB kilitlenir ( suspendeddurumda).

SQL Server'ı en son sürüme güncelleyerek sorunu düzeltiriz (ilk sürümümüz wiout SP idi).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.