что именно вы хотите проверить на логин или пользователя? логин создается на уровне сервера, а пользователь создается на уровне базы данных, поэтому логин уникален на сервере
Кроме того, пользователь создается против входа в систему, пользователь без входа в систему является осиротевшим пользователем и бесполезен, так как вы не можете выполнить вход в SQL Server без входа в систему.
может тебе это нужно
проверить логин
select 'X' from master.dbo.syslogins where loginname=<username>
приведенный выше запрос возвращает 'X', если логин существует, иначе возвращает ноль
затем создайте логин
CREATE LOGIN <username> with PASSWORD=<password>
это создает логин в SQL Server. Но он принимает только надежные пароли
создать пользователя в каждой базе данных, которую вы хотите для входа в систему как
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