Wednesday 8 April 2020

Script to create users in sql server after restoring database

copy below Script and  execute on the newly created database this will create all user in your instance to access data from new database.

SET NOCOUNT ON
DECLARE @loop INT
DECLARE @USER sysname

Declare @Orphaned TABLE  (UserName sysname, UserSID VARBINARY(85),IDENT INT IDENTITY(1,1))

INSERT INTO @Orphaned
EXEC SP_CHANGE_USERS_LOGIN 'report';

IF(SELECT COUNT(*) FROM @Orphaned) > 0
BEGIN
SET @loop = 1
WHILE @loop <= (SELECT MAX(IDENT) FROM @Orphaned)
  BEGIN
    SET @USER = (SELECT UserName FROM @Orphaned WHERE IDENT = @loop)
    IF(SELECT COUNT(*) FROM sys.server_principals WHERE [Name] = @USER) <= 0
     BEGIN
        EXEC SP_ADDLOGIN @USER,'Landmark1'  --- Change password what you need
             Print @user
     END
   
    EXEC SP_CHANGE_USERS_LOGIN 'update_one',@USER,@USER
    SET @loop = @loop + 1
  END
END
SET NOCOUNT OFF