Checking if a SQL Server login already exists

authentication, sql-server

Solution

From here

If not Exists (select loginname from master.dbo.syslogins 
    where name = @loginName and dbname = 'PUBS')
Begin
    Select @SqlStatement = 'CREATE LOGIN ' + QUOTENAME(@loginName) + ' 
    FROM WINDOWS WITH DEFAULT_DATABASE=[PUBS], DEFAULT_LANGUAGE=[us_english]')

    EXEC sp_executesql @SqlStatement
End

Problem

I need to check if a specific login already exists on the SQL Server, and if it doesn't, then I need to add it. I have found the following code to actually add the login to the database, but I want to wrap this in an IF statement (somehow) to check if the login exists first. ``` CREATE LOGIN [myUsername] WITH PASSWORD=N'myPassword', DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO ``` I understand that I need to interrogate a system database, but not sure where to start!

Original source

Related problems