Windows SID'in değiştirilmesi SQL Server'ı nasıl etkiler?


11

Windows yöneticilerimiz Windows sunucularını klonlama yöntemleriyle ilgili bir sorun belirlediler. Görünüşe göre klonlanan sunucuların bazıları işletim sistemi düzeyinde aynı SID ile sonuçlanıyor. Microsoft'un yinelenen SID'leri olan sunucuları desteklemediğini duydum. Bu nedenle, bu sunuculardaki SID'lerin değiştirilmesi gerekir.

Bunun SQL Server'ı nasıl etkilediğini merak ediyorum. Herhangi bir fikir? Kümelenmiş veritabanı sunucularını nasıl etkiler?


Pencereleri klonlamamak için tekne yükleri var, ancak SID bunlardan biri değil
Jim B

Yanıtlar:


9

SID'yi yalnız bırakın. NewSID, Mark Russinovich'in biraz kazma yaptığı ve tüm "yinelenen SID'lerin == kötü!" Hepimiz son on yılda kafataslarımıza davul yapmıştık ya da bu sadece bir saçmalık yükü.

Mark'ın son blog girişi: Makine SID Çoğaltma Efsanesi'ne bakın .


6

SID'yi değiştirmeye karşı kesinlikle okuduktan sonraya kadar tavsiye ederim: NewSID Breaks SQL Server ile Makine SIDini Değiştirme (Ve Nasıl Onarılır)

Görünüşe göre, klonlanan sunucuların bazıları işletim sistemi düzeyinde aynı SID ile sonuçlanıyor.

TÜM klonlanmış sistemlerinizin aynı SID'ye sahip olduğunu tahmin etmek tehlikelidir. GhostWalk sizin için SID'leri yeniden oluşturabilir. İlk klon görüntünüzde sysprep kullanmak sizi gelecekteki sistemlerde de kurtarabilir.

SQL Server yüklediyseniz SID DEĞİŞTİRMEYİN. Kötü şeyler olacak.


Bu senaryolar için desteklenen AFAIK çözümü olan SysPrep için +1.
Michael Stum

1
Sql yüklüyse sysprep dahil olmak üzere herhangi bir sid değişikliğinin desteklenmediğinden bahsetmemek için -1.
Jim B

Sunucu çalışıyorsa ve bazı şeyler yüklüyse, oldukça hoşlandığını söyleyebilirim. Sunucuyu klonladıktan hemen sonra SID'yi değiştirmeniz gerekiyordu. Alan adına aynı SID'ye sahip iki sunucuya katılabileceğinize şaşırdım!
Nick Kavadias

2

Sysinternals NewSID'yi kullanabilirsiniz: http://technet.microsoft.com/en-us/sysinternals/bb897418.aspx

SQL'de bilgisayar adını değiştirin:

use master
sp_dropserver '<old computer name>'
GO
sp_addserver '<new computer name>', local
GO

sp_helpserver -- will show you the new computer name

Sonra sql sunucu hizmetini yeniden başlatın.


Sql sunucusunun manuel olarak yeniden adlandırılmasına dikkat ettiğiniz için teşekkür ederiz. Genellikle SQL klonlarında unutulur (madeni sysprep ile klonlarım)
Precipitous

2

Veritabanınız Microsoft Dağıtılmış İşlem Düzenleyicisi'ni kullanarak uzaktan işlemler yapıyorsa, klonlanan makinelerin de aynı MSDTC kimliğine sahip olduğunu unutmayın; bu SID değildir ve NewSID tarafından değiştirilmez.

Bunu Olay Görüntüleyicisi'nde göreceksiniz:

Yerel MS DTC, SERVER üzerindeki MS DTC'nin yerel MS DTC ile aynı benzersiz kimliğe sahip olduğunu saptadı. Bu, iki MS DTC'nin birbiriyle iletişim kuramayacağı anlamına gelir. Bu sorun genellikle, sistemlerden biri desteklenmeyen klonlama araçları kullanılarak klonlanmışsa ortaya çıkar. MS DTC, sistemlerin SYSPREP gibi desteklenen klonlama araçları kullanılarak klonlanmasını gerektirir. Komut isteminde 'msdtc -uninstall' ve ardından 'msdtc -install' çalıştırılması sorunu çözecektir. Not: 'msdtc -uninstall' komutunun çalıştırılması, sistemin tüm MS DTC yapılandırma bilgilerini kaybetmesine neden olur.

Ben böyle çözmek:

msdtc -uninstall

Birkaç dakika bekleyin, sonra

msdtc -install
sc config msdtc start= auto
sc start msdtc

1
Bazı garip nedenlerden ötürü, "sc config", "start =" ve "auto" arasında bir boşluk gerektirir, yani "sc config msdtc start = auto".
ThatGraemeGuy

Teşekkürler - Ben orada o boşluk vardı ama ben bir yazım hatası olduğunu düşündüm yayınlanmıştır düzenledi :)
crb

2

Microsoft'a ait olan NewSID veya sysprep aracını kullanın; bu, tüm dosya kopyalama olmadan pencereleri yeniden yüklemek gibidir.

Aynı SID ile aynı etki alanına iki bilgisayarı katılabileceğinizi düşünmüyorum, bu nedenle sunucuların bir etki alanında olması gerektiğinden kümelenmiş SQL Server'ların bir şansı olmayacağını söyleyebilirim.


1

Bir sistemi klonlamanın desteklenen tek yolu sysprep kullanmaktır. Bir sql sunucusunu klonlamamanın bir nedeni vardır:

Microsoft CSS tarafından desteklenmez.

-SQL "yeniden adlandırılıncaya kadar düzgün çalışmaz.

- Raporlama hizmetleriniz varsa, bu hizmetlere de verilecektir.

-Sistem ve Ağ Hizmeti hesapları yeni SID ve parolalar alacaktır, bu nedenle bunları hizmet hesapları olarak kullandıysanız biraz acı olacaktır.

-SQL Server biçiminde birkaç yerel grup oluşturur. SQLServer2005MSSQLUser $$ MSSQLSERVER'dır. Bunları yeniden adlandırmak desteklenmiyor

Durumu düzeltmek için-

Kümeyi kırın, sistemi yeniden oluşturun, SQL yükleyin, yeni bir küme oluşturun, yeniden oluşturulmamış sunucuda bir yedek çalıştırın - sonra durdurun, bu yedeklemeyi yeni kümeye geri yükleyin, uygulamayı yeni kümeye yönlendirin, kalanını yeniden oluşturun sunucusuna ekleyin ve yeni kümeye ekleyin

- alternatif olarak (muhtemelen daha kolay) neden yeni adla yeni bir sunucu oluşturmuyorsunuz (bu, herhangi bir türdeki SID ile olası sorunları çözecektir) sonra kümeyi kırın SQL'i kümeye birleştirin, o kutuya yük devretin ve işlemi tekrarlayın, yol yok kesinti ve yedekleme / geri yükleme gerek yok (yine de olsa yine de yaptım öneririz). Biz zznode1, zznode2 ve bir küme adı kullanırız, bu şekilde zznode3 oluşturup kümeye birleştirmek basittir, çünkü kümede düğümlere referans verilmez. Umarım yardımcı olur.

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.