Skip to content

Commit fd7402b

Browse files
Get-DbaUserPermission: Fix incorrect schema name shown as 'STIG' (#10210)
1 parent 7777c14 commit fd7402b

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

bin/stig.sql

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -204,12 +204,12 @@ USE tempdb;
204204
END AS [Securable Type or Class],
205205
CASE
206206
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'DATABASE' THEN PS.name COLLATE DATABASE_DEFAULT
207-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'OBJECT_OR_COLUMN' THEN schema_name(OB.schema_id)
207+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'OBJECT_OR_COLUMN' THEN OB_SC.name COLLATE DATABASE_DEFAULT
208208
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'SCHEMA' THEN P3.name COLLATE DATABASE_DEFAULT
209209
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'DATABASE_PRINCIPAL' THEN coalesce(PR.default_schema_name, PE.name)
210210
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'ASSEMBLY' THEN P4.name COLLATE DATABASE_DEFAULT
211-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'TYPE' THEN schema_name(TP.schema_id)
212-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'XML_SCHEMA_COLLECTION' THEN schema_name(XS.schema_id)
211+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'TYPE' THEN TP_SC.name COLLATE DATABASE_DEFAULT
212+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'XML_SCHEMA_COLLECTION' THEN XS_SC.name COLLATE DATABASE_DEFAULT
213213
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'MESSAGE_TYPE' THEN P5.name COLLATE DATABASE_DEFAULT
214214
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'SERVICE_CONTRACT' THEN P6.name COLLATE DATABASE_DEFAULT
215215
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'SERVICE' THEN P7.name COLLATE DATABASE_DEFAULT
@@ -220,12 +220,12 @@ USE tempdb;
220220
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'ASYMMETRIC_KEY' THEN PC.name COLLATE DATABASE_DEFAULT
221221
WHEN DP.class_desc COLLATE DATABASE_DEFAULT = 'CERTIFICATE' THEN PD.name COLLATE DATABASE_DEFAULT
222222
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND DB.name IS NOT NULL THEN PS.name COLLATE DATABASE_DEFAULT
223-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND OB.name IS NOT NULL THEN schema_name(OB.schema_id)
223+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND OB.name IS NOT NULL THEN OB_SC.name COLLATE DATABASE_DEFAULT
224224
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND SC.name IS NOT NULL THEN P3.name COLLATE DATABASE_DEFAULT
225225
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND PR.name IS NOT NULL THEN PR.default_schema_name COLLATE DATABASE_DEFAULT
226226
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND AY.name IS NOT NULL THEN P4.name COLLATE DATABASE_DEFAULT
227-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND TP.name IS NOT NULL THEN schema_name(TP.schema_id)
228-
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND XS.name IS NOT NULL THEN schema_name(XS.schema_id)
227+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND TP.name IS NOT NULL THEN TP_SC.name COLLATE DATABASE_DEFAULT
228+
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND XS.name IS NOT NULL THEN XS_SC.name COLLATE DATABASE_DEFAULT
229229
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND MT.name IS NOT NULL THEN P5.name COLLATE DATABASE_DEFAULT
230230
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND VC.name IS NOT NULL THEN P6.name COLLATE DATABASE_DEFAULT
231231
WHEN DP.class_desc COLLATE DATABASE_DEFAULT IS NULL AND SV.name IS NOT NULL THEN P7.name COLLATE DATABASE_DEFAULT
@@ -333,6 +333,8 @@ USE tempdb;
333333
LEFT OUTER JOIN [<TARGETDB>].sys.all_columns CM
334334
ON CM.[object_id] = DP.major_id
335335
AND CM.[column_id] = DP.minor_id
336+
LEFT OUTER JOIN [<TARGETDB>].sys.schemas OB_SC
337+
ON OB_SC.schema_id = OB.schema_id
336338

337339
FULL OUTER JOIN [<TARGETDB>].sys.schemas SC
338340
ON DP.major_id = SC.[schema_id]
@@ -355,10 +357,14 @@ USE tempdb;
355357
FULL OUTER JOIN [<TARGETDB>].sys.types TP
356358
ON DP.major_id = TP.user_type_id
357359
AND DP.class_desc = 'TYPE'
360+
LEFT OUTER JOIN [<TARGETDB>].sys.schemas TP_SC
361+
ON TP_SC.schema_id = TP.schema_id
358362

359363
FULL OUTER JOIN [<TARGETDB>].sys.xml_schema_collections XS
360364
ON DP.major_id = XS.xml_collection_id
361365
AND DP.class_desc = 'XML_SCHEMA_COLLECTION'
366+
LEFT OUTER JOIN [<TARGETDB>].sys.schemas XS_SC
367+
ON XS_SC.schema_id = XS.schema_id
362368

363369
FULL OUTER JOIN [<TARGETDB>].sys.service_message_types MT
364370
ON DP.major_id = MT.message_type_id

0 commit comments

Comments
 (0)