чого ви точно хочете перевірити на вхід або користувача? логін створюється на рівні сервера, а користувач створюється на рівні бази даних, тому логін є унікальним на сервері
також користувач створений проти входу, користувач без входу є сиротою, і це не корисно, оскільки ви не можете здійснювати вхід на сервер sql без входу.
можливо, вам це потрібно
чек для входу
select 'X' from master.dbo.syslogins where loginname=<username>
вищезазначений запит повертає "X", якщо логін існує інше return null
потім створіть логін
CREATE LOGIN <username> with PASSWORD=<password>
це створює логін на сервері sql. але він приймає лише надійні паролі
створити користувача у кожній базі даних, в яку ви хочете ввійти як
CREATE USER <username> for login <username>
призначити користувачеві права на виконання
GRANT EXECUTE TO <username>
ВИ МОЖЕТЕ мати дозволи SYSADMIN або коротко сказати "sa"
ви можете написати sql процедуру для цього в базі даних
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