USP_ROLESYNC_APPUSER_SYNCNAMES
Updates the display name for all APPUSER records.
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@CHANGEAGENTID | uniqueidentifier | IN | |
@USERSIDLIST | xml | IN |
Definition
Copy
create procedure dbo.USP_ROLESYNC_APPUSER_SYNCNAMES (@CHANGEAGENTID uniqueidentifier = null, @USERSIDLIST xml)
as
--Used by the RoleSync utility
set nocount on;
if @CHANGEAGENTID is null
exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;
declare @CURRENTDATE datetime;
set @CURRENTDATE=getdate();
BEGIN TRY
--Parse and validate user name list
declare @sids table (sid varbinary(85), username nvarchar(255))
insert into @sids (sid,username)
select distinct USERSID, DISPLAYNAME from dbo.[UFN_SYSTEMROLE_GETUSERSIDLIST_FROMITEMLISTXML](@USERSIDLIST);
--Update display names for any Appusers where the updated name is not null
update dbo.APPUSER set DISPLAYNAME = NEWUSERS.USERNAME,
CHANGEDBYID = @CHANGEAGENTID, DATECHANGED = @CURRENTDATE
from dbo.APPUSER
inner join @sids as NEWUSERS
on APPUSER.USERSID = NEWUSERS.SID
where len(NEWUSERS.USERNAME) > 0;
return 0;
END TRY
BEGIN CATCH
exec dbo.USP_RAISE_ERROR;
return 1;
END CATCH