User, group, or role already exists in the current database hatasının çözümü
Veritabanını başka bir instance üzerinden taşıdınız ve login’i eski instance’dan yeni instance’a taşımak yerine bu veritabanı için yeni bir login oluşturdunuz. “Loginleri başka bir instance’ a taşımak” isimli makalemi okumanızı tavsiye ederim. Bu oluşturduğunuz login’i aktardığınız veritabanında yetkilendirmek istediğinizde bu hatayı alabilirsiniz. Sebebi veritabanı için oluşturduğunuz bu login ile aynı isimde bir user olmasıdır. Aşağıdaki gibi bir hata alırsınız.
Bu hatayı düzeltmenin birkaç yolu vardır.
1)Veritabanı altında Users sekmesine gelip ilgili user’ı silip yeniden yekilendirmek. Yetkilendirme işlemi için “Login oluşturmak ve yetkilendirmek” isimli makalemi okumanızı tavsiye ederim.
2)Login ile veritabanı içinde user’ın aynı olduğuna SQL Server’ı aşağıdaki script yardımıyla ikna etmek
ALTER USER test WITH LOGIN = test
3)Login ile veritabanı içinde user’ın aynı olduğuna SQL Server’ı aşağıdaki script yardımıyla ikna etmek
EXEC sp_change_users_login 'Update_One', 'test', 'test';