apa yang sebenarnya ingin Anda periksa login atau pengguna? login dibuat di level server dan pengguna dibuat di level database sehingga login unik di server
juga pengguna dibuat terhadap login, pengguna tanpa login adalah pengguna yatim dan tidak berguna karena Anda tidak dapat melakukan login server sql tanpa login
mungkin kamu membutuhkan ini
periksa login
select 'X' from master.dbo.syslogins where loginname=<username>
kueri di atas mengembalikan 'X' jika login ada lagi mengembalikan nol
lalu buat login
CREATE LOGIN <username> with PASSWORD=<password>
ini menciptakan login di sql server. tetapi hanya menerima kata sandi yang kuat
buat pengguna di setiap basis data yang Anda inginkan untuk login
CREATE USER <username> for login <username>
memberikan hak eksekusi kepada pengguna
GRANT EXECUTE TO <username>
ANDA HARUS MEMILIKI izin SYSADMIN atau mengatakan 'sa' singkatnya
Anda dapat menulis prosedur sql untuk itu di database
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