# SQL Server'da Orphan User Problemi ve Değişiklik Yönetimiyle İlişkisi

Orphan user, veritabanında tanımlı olan ama sunucu düzeyinde eşleşen bir login'i olmayan kullanıcıdır. Sessizce orada durur, kimse fark etmez. Ta ki sorun çıkana kadar.

Nasıl Oluşur? Sunucu taşıma veya yükseltme: Veritabanı başka bir sunucuya taşındı. Yeni sunucuda eski login'ler yok. Veritabanındaki kullanıcılar orphan oldu. Backup'tan restore: Backup başka bir sunucuya restore edildi. Aynı sorun. Login silindi ama kullanıcı silinmedi: Biri sunucu düzeyinde login'i kaldırdı. Veritabanındaki kullanıcı kaldı.

Orphan User Tespiti sql-- Orphan kullanıcıları tespit et USE VeritabaniAdi; GO

EXEC sp\_change\_users\_login 'Report'; Bu komut eşleşmeyen kullanıcıları listeler. Alternatif olarak: sqlSELECT dp.name AS KullaniciAdi, dp.type\_desc AS KullaniciTipi, dp.create\_date AS OlusturmaTarihi FROM sys.database\_principals dp LEFT JOIN sys.server\_principals sp ON dp.sid = sp.sid WHERE dp.type IN ('S', 'U') AND dp.name NOT IN ('dbo', 'guest', 'INFORMATION\_SCHEMA', 'sys') AND sp.sid IS NULL ORDER BY dp.name;

Düzeltme Yöntemleri sql-- Mevcut login ile eşleştir EXEC sp\_change\_users\_login 'Update\_One', 'OrphanKullanici', 'MevcutLogin';

\-- Yeni login oluşturup eşleştir CREATE LOGIN YeniLogin WITH PASSWORD = 'GucluParola123!'; EXEC sp\_change\_users\_login 'Update\_One', 'OrphanKullanici', 'YeniLogin';

\-- Orphan kullanıcıyı sil (eğer gerekli değilse) DROP USER OrphanKullanici;

Değişiklik Yönetimiyle Bağlantısı Orphan user problemi genellikle değişiklik sürecinin dışında yapılan işlemlerden kaynaklanır: kayıt tutulmadan yapılan sunucu taşıma, onaysız login silme, belgesiz restore. Eğer her sunucu taşıma, her login değişikliği ve her restore işlemi değişiklik yönetim sürecinden geçseydi orphan user listesi kontrollü olurdu. Sürpriz olmaz, hazırlık yapılırdı.

Periyodik Denetim Orphan user kontrolünü aylık rutin denetiminize ekleyin. Özellikle sunucu değişikliği, yükseltme veya restore sonrasında mutlaka çalıştırın.

Sonuç Orphan user küçük bir teknik detay gibi görünür. Ama biriken orphan kullanıcılar güvenlik açığına, erişim sorununa ve denetim bulgusuna dönüşebilir. Değişiklik sürecine dahil etmek bu riski sıfıra yaklaştırır. Detaylı bilgi için: sqlchangeguard.com
