dbo.QBM_ZDBPrincipalCreate

SQL_STORED_PROCEDURE

Created 2025-06-27T17:58:59.240 · modified 2026-04-14T23:20:30.100 · source: live DB sys.objects/sys.sql_expression_dependencies.

Open formatted source/search result

Parameters

NameTypeOutput
@SlotNumberintno
@UID_QBMDBPrincipalvarcharno
@Dummyvarcharno
@GenProcIDvarcharno

Referenced objects

SchemaObjectColumn/minorClass
QBM_PDBQueueInsert_BulkOBJECT_OR_COLUMN
QBM_PSessionErrorAddOBJECT_OR_COLUMN
QBM_YDBQueueRawTYPE
QBMDBPrincipalOBJECT_OR_COLUMN
QBMDBPrincipalHasRoleDefOBJECT_OR_COLUMN
dboQBM_FGIServerEnginePropertiesOBJECT_OR_COLUMN

Source excerpt

First extracted SQL definition lines from the exported source. Use the full source page for complete context.

Open full formatted source

1  create   procedure QBM_ZDBPrincipalCreate (@SlotNumber int , @UID_QBMDBPrincipal varchar(38) , @Dummy varchar(38) , @GenProcID varchar(38) ) as
2 begin declare @LoginName nvarchar(128) = null declare @UserName nvarchar(128) = null declare @SQLcmd nvarchar(max) declare @msg nvarchar(max) BEGIN TRY
3 select top 1 @LoginName = LoginName , @UserName = UserName from QBMDBPrincipal where UID_QBMDBPrincipal = @UID_QBMDBPrincipal if isnull(@LoginName, ''
4) = ''  begin if exists (select top 1 1 from sys.database_principals where name = @UserName and type in ('S', 'U', 'G') ) begin select @SQLcmd = 'Drop User ['
5 + @UserName + ']' exec sp_executesql @SQLCmd end goto EndLabel end if dbo.QBM_FGIServerEngineProperties('AccessToServerPrincipal') = 1  begin if not exists
6 (select top 1 1 from sys.server_principals where name = @LoginName and type in ('S'  , 'U'  , 'G')  ) begin select @msg = '#LDS#ServerLogin does not exist {0}.|'
7 + @LoginName + N'|' raiserror(@msg, 18, 2) with nowait end else begin if not exists (select top 1 1 from sys.database_principals where name = @UserName
8 and type in ('S', 'U', 'G') ) begin  select @SQLcmd = 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec 
9sp_executesql @SQLCmd end else begin  if not exists (select top 1 1 from sys.server_principals l join sys.database_principals u on l.sid = u.sid where 
10l.name = @LoginName and l.type in ('S', 'U', 'G') and u.name = @UserName and u.type in ('S', 'U', 'G') ) begin  if exists (select top 1 1 from sys.server_principals
11 l join sys.database_principals u on l.type = u.type where l.name = @LoginName and u.name = @UserName ) begin select @SQLcmd = 'Alter User [' + @UserName
12 + '] With Login=[' + @LoginName + ']' exec sp_executesql @SQLCmd end else begin  select @SQLcmd = 'Drop User [' + @UserName + ']' exec sp_executesql @SQLCmd
13 select @SQLcmd = 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec sp_executesql @SQLCmd end end end end
14 end else begin if not exists (select top 1 1 from sys.database_principals where name = @UserName and type in ('S', 'U', 'G') ) begin  select @SQLcmd =
15 'Create User [' + @UserName + '] For Login [' + @LoginName + '] With Default_Schema=[dbo]' exec sp_executesql @SQLCmd end else begin select @SQLcmd = 
16'Alter User [' + @UserName + '] With Login=[' + @LoginName + ']' exec sp_executesql @SQLCmd end end  declare @DBQueueElements_01 QBM_YDBQueueRaw insert
17 into @DBQueueElements_01 (object, subobject, genprocid) select x.uid, null, @GenProcID from (select UID_QBMDBRoleDef as UID from QBMDBPrincipalHasRoleDef
18 where UID_QBMDBPrincipal = @UID_QBMDBPrincipal ) as x exec QBM_PDBQueueInsert_Bulk 'QBM-K-DBRoleDefCreate', @DBQueueElements_01 EndLabel: return END TRY
19 BEGIN CATCH exec QBM_PSessionErrorAdd default RAISERROR ('', 18, 1) WITH NOWAIT END CATCH end 
20

Module relation graph

Loading module relation graph…

Source-derived context

Generated from exported SQL module definitions plus read-only sandbox sys.objects/sys.parameters/sys.sql_expression_dependencies metadata. This is factual source evidence, not a semantic guess.

provenance: SQL definition export provenance: sandbox DB metadata modified: 2026-04-14T23:20:30.100

inserts DBQueue tasks has TRY/CATCH error handling

Summary: calls QBM_PDBQueueInsert_Bulk, QBM_PSessionErrorAdd; writes INSERT into; reads/joins QBMDBPrincipal, sys, QBMDBPrincipalHasRoleDef

Declared parameters

ParameterTypeDirection
@SlotNumberintinput
@UID_QBMDBPrincipalvarchar(38)input
@Dummyvarchar(38)input
@GenProcIDvarchar(38)input

DML targets

INSERT into

Config/session

Config: None extracted.

Session: None extracted.

DBQueue/tasks

QBM-K-DBRoleDefCreate

Temp tables / referenced variables

Temp: #LDS #ServerLogin

Variables: @SlotNumber @UID_QBMDBPrincipal @Dummy @GenProcID @LoginName @UserName @SQLcmd @msg @SQLCmd @DBQueueElements_01

Referenced by / reverse dependencies

Generated from live DB metadata, FK rows, and exported SQL dependency/source extraction. This is factual linkage evidence, not inferred behavior.

No reverse dependencies extracted.