Was genau möchten Sie für Login oder Benutzer überprüfen? Auf Serverebene wird eine Anmeldung erstellt, und auf Datenbankebene wird ein Benutzer erstellt, sodass eine Anmeldung auf dem Server eindeutig ist
Außerdem wird ein Benutzer für eine Anmeldung erstellt. Ein Benutzer ohne Anmeldung ist ein verwaister Benutzer und nicht nützlich, da keine SQL Server-Anmeldung ohne Anmeldung durchgeführt werden kann
Vielleicht brauchst du das
auf Login prüfen
select 'X' from master.dbo.syslogins where loginname=<username>
Die obige Abfrage gibt 'X' zurück, wenn die Anmeldung vorhanden ist. Andernfalls wird null zurückgegeben
Erstellen Sie dann ein Login
CREATE LOGIN <username> with PASSWORD=<password>
Dadurch wird ein Login in SQL Server erstellt, es werden jedoch nur sichere Kennwörter akzeptiert
Erstellen Sie in jeder Datenbank, unter der Sie sich anmelden möchten, einen Benutzer
CREATE USER <username> for login <username>
Weisen Sie dem Benutzer Ausführungsrechte zu
GRANT EXECUTE TO <username>
SIE MÜSSEN SYSADMIN-Berechtigungen haben oder kurz 'sa' sagen
Sie können dafür eine SQL-Prozedur in eine Datenbank schreiben
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