Stored Procedures [dbo].[GetUserIDBySid]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)Direction
@UserSidvarbinary(85)85
@UserNamenvarchar(260)520
@AuthTypeint4
@UserIDuniqueidentifier16Out
Permissions
TypeActionOwning Principal
GrantExecuteRSExecRole
SQL Script
-- looks up any user name by its SID, if not it creates a regular user
CREATE PROCEDURE [dbo].[GetUserIDBySid]
@UserSid varbinary(85),
@UserName nvarchar(260),
@AuthType int,
@UserID uniqueidentifier OUTPUT
AS
SELECT @UserID = (SELECT UserID FROM Users WHERE Sid = @UserSid AND AuthType = @AuthType)
IF @UserID IS NULL
   BEGIN
      SET @UserID = newid()
      INSERT INTO Users
      (UserID, Sid, UserType, AuthType, UserName)
      VALUES
      (@UserID, @UserSid, 0, @AuthType, @UserName)
   END

GO
GRANT EXECUTE ON  [dbo].[GetUserIDBySid] TO [RSExecRole]
GO
Uses
Used By