1 Aralık 2016 Perşembe

SQL Server Error User Group or Role Already Exists in the Current Database

SQL Server Error User Group or Role Already Exists in the Current Database


sql-server-user-already-exists


Merhaba sayın okuyucu, Sql serverda çok kere karşılaştığımız ve bu hata ile karşılaşan kullanıcıların ne yapması gerektiğini sayfamızda belirtme fayda olduğunu gördük.


Bu ve bunun gibi bir çok Sql Server Error User Group or Role Already Exists in the Current Database hatalarını sitemizde Sql Server Makaleleri bölümünde bulabilirsiniz.


 


Eğer veritabanında olan bir kullanıcıyı sql servera tanıtmak isterseniz böyle bir hata alırsınız.Bunun sebebi iki kullanıcı arasında dbo şema bağlantısı kurmak istemenize rağmen


User, group, or role ‘user’ already exists in the current database (Microsoft SQL Server, Error: 15023). şeklinde hata alırsınız.


 


Eğer bir veritabanını restore ediyorsanız ve o veritabanında bir kullanıcı mevcut sizde bu kullanıyı sql server security tabı altında login altına tanıtırken hata alabilirsiniz.Genel bir hata olup konuyla ilgili microsoft kaynaklarıdan bilgi alabilirsiniz.Microsft offical sitesinde belirttiği çözüm ve uygulama yöntemi aşağıdaki gibidir.


 


Bu hatayı gidermek için sql server management yeterli değildir.Hatayı giderebilmek bir stored procedure sp kullanmak gerekiyor. MSDN Dökümanlarında sp_change_users_login nasıl kullanılır


Makalede belirtildiği üzere çözüm basit.
Aşağıda örnek olan kullanıcı sqlogren kullanıcı için nasıl kullanıldığı gösterilmektedir.Bu var olan bir stored procedureyi parametre ile kullanarak işlemi yapmamızı sağlıyor.


Sp_change_users_login stored proecedurünü Auto_Fix  ve @username yani = ‘sqlogren’ kullanıcı ile ilgili işlem yapılması gerektiğini vurguluyor.


Sp_change_users_login ‘ Auto_Fix ‘, ‘ sqlogren’


Auto_fix ne işe yarar ne için kullanılır ?


Auto_fix parametresi aynı sql server içerisinde bulunan sys.database_principals seçilmiş olan veritabanınındaki bir kullanıcıyı bağlamaya yarar.Böylece kullanının yetkileri örnek veritabanından koplanarak özelliklerin aktif edilmesi , onarılması gibi işlemleri yapılması için kullanılmaktadır.Aynı ismi taşıyor bir hesap oluşturulduktan sonra Auto_Fix parametresi kullanılarak sistemin kararlı hale gelmesini sağlayabilirsiniz.Ancak her özelliğin artı bir yönü olduğu gibi güvenlik tarafından zafiyet verilebilecek bir konudur.Güvenliği üst düzeyde olan projelerde kullanılması uygun değildir.


Bu deyimi kullanıldığında belirtilen kullanıcı işlemi yapması için herhangi bir şifre password sormaz default olarak null olarak işlem yapar.Yani şifresi olmayan bir kullanıcıyı sistede dahil ederek, kötü niyetli programı bozmayaya ve sistemin çalışmasını engeleyecek kullanıcılara davet gönderilmesini sağlmaktadır.


 


 Hepsi bu kadar.


 


Kolay gelsin.



SQL Server Error User Group or Role Already Exists in the Current Database

Hiç yorum yok:

Yorum Gönder