Sunucu işletim sistemi seviyesinde isim değişikliği yapıldığında, Windows kullanıcılarının SID (Security Identifier) bilgisi değişmez ancak SQL Server üzerindeki login ismi eski sunucu adıyla kayıtlı kalmaya devam eder.
Yeni sunucu ismiyle (ARVEDB1\Administrator) bir login eklemek istediğinizde, SQL Server arka planda SID’nin zaten mevcut olduğunu fark eder ve aşağıdaki hatayı fırlatır:
Error 15025: The server principal ‘ARVEDB1\Administrator’ already exists.

Yukarıdaki hatada mevcut ismin olduğunu ama sql server login bölümünde belirlen windows kullanıcısının olmadığı görülmektedir. İlgili login drop edilir. Yeni login eklenmesi gerekmektedir.
DROP LOGIN [WIN-ABC\Administrator];
Mevcut olan login silinirken hata mesajıyla karşılaşılırsa. WIN-ABC\Administrator kullanıcısının active olduğu oturumlar kill edildiğinde silme sorunumuz ortadan kalkmaktadır.
Could not drop login ‘WIN-ABC\Administrator’ as the user is currently logged in.
Aşağıdaki komut ile aktif connectionlar bulunup KILL edilebilir.
SELECT
session_id,
login_name,
host_name,
program_name
FROM sys.dm_exec_sessions
WHERE login_name = 'WIN-ABC\Administrator';
Yukarıdaki sorgudan dönen session_id değerini (örneğin 54) aşağıdaki komutla sonlandırın:
KILL 54; -- session_id değerini buraya yazın
Bağlantılar kesilip eski login silindikten sonra, yeni sunucu ismiyle login’i başarıyla ekleyebilirsiniz:
CREATE LOGIN [ARVEDB1\Administrator] FROM WINDOWS;
Windows tabanlı loginlerde SQL Server, ismi değil SID‘yi baz alır. Sunucu ismini değiştirseniz bile kullanıcının SID’si aynı kaldığı için, SQL Server “bu kullanıcı zaten içeride bir yerde kayıtlı” diyerek isim karmaşasına engel olur. Yukarıdaki adımlar, bu metadata uyuşmazlığını manuel olarak senkronize etmenizi sağlar.
Başka makalede görüşmek dileğiyle..
“Şüphesiz güçlükle beraber bir kolaylık vardır. Gerçekten, güçlükle beraber bir kolaylık vardır.” İnşirah Suresi; 5-6. Ayet
