giriş veya kullanıcı için tam olarak ne kontrol etmek istiyorsun? sunucu düzeyinde bir giriş oluşturulur ve veritabanı düzeyinde bir kullanıcı oluşturulur, böylece bir giriş sunucuda benzersizdir
Ayrıca bir kullanıcı bir giriş karşı oluşturulur, giriş olmadan bir kullanıcı yetim bir kullanıcı ve u bir giriş olmadan sql sunucusu giriş yapamaz gibi yararlı değildir
belki buna ihtiyacın var
giriş için kontrol et
select 'X' from master.dbo.syslogins where loginname=<username>
eğer giriş mevcutsa yukarıdaki sorgu dönüşü 'X' başka döndürür null
sonra bir giriş oluşturun
CREATE LOGIN <username> with PASSWORD=<password>
Bu sql sunucusunda bir oturum açma oluşturur. ama sadece güçlü şifreleri kabul eder
giriş yapmak istediğiniz her veritabanında bir kullanıcı oluşturun
CREATE USER <username> for login <username>
kullanıcıya yürütme hakları atama
GRANT EXECUTE TO <username>
SYSADMIN izinlerine sahip olmanız veya kısaca 'sa' demeniz gerekir
bir veritabanına bunun için bir sql yordamı yazabilirsiniz
create proc createuser
(
@username varchar(50),
@password varchar(50)
)
as
begin
if not exists(select 'X' from master.dbo.syslogins where loginname=@username)
begin
if not exists(select 'X' from sysusers where name=@username)
begin
exec('CREATE LOGIN '+@username+' WITH PASSWORD='''+@password+'''')
exec('CREATE USER '+@username+' FOR LOGIN '+@username)
exec('GRANT EXECUTE TO '+@username)
end
end
end