Beh, non so che cosa significhi ST, ma sulla base della convenzione di denominazione dovrei indovinare che è una sorta di statistica generata dal sistema.
È possibile verificare se esiste, per caso, un tipo di testo associato all'oggetto se si tratta di un modulo, ad esempio:
SELECT OBJECT_DEFINITION(613577224);
SELECT definition FROM sys.all_sql_modules
WHERE object_id = 613577224;
Puoi anche provare:
EXEC sp_help N'dbo._ST_OEA33...';
Infine, potresti provare a scoprire la forza di questo oggetto in qualsiasi vista del catalogo. Questo script tenta di trovare qualsiasi vista che contenga una riga in cui la object_id
colonna è uguale a quel valore.
CREATE TABLE #v(v sysname);
DECLARE @sql nvarchar(max) = N'', @obj int = 613577224;
SELECT @sql += N'INSERT #v
SELECT DISTINCT ''sys.' + name + N'''
FROM sys.' + QUOTENAME(name) + N'
WHERE [object_id] = @obj;'
FROM sys.all_views AS v
WHERE EXISTS
(
SELECT 1
FROM sys.all_columns AS c
WHERE c.name = N'object_id'
AND c.[object_id] = v.[object_id]
);
EXEC sys.sp_executesql @sql, N'@obj int', @obj;
SELECT v FROM #v;
DROP TABLE #v;
Se questo non produce nulla, è possibile espanderlo per includere tutte le int
colonne basate su tutte le viste del catalogo, poiché a volte i object_id
valori sono memorizzati in colonne con nomi diversi, come referenced_major_id
o parent_object_id
, e qualsiasi risultato qui può fornire anche indizi.
SET NOCOUNT ON;
CREATE TABLE #v(v sysname);
DECLARE @sql nvarchar(max) = N'', @obj int = 613577224;
SELECT @sql += N'INSERT #v
SELECT DISTINCT ''sys.' + v.name + N'''
FROM sys.' + QUOTENAME(v.name) + N'
WHERE ' + QUOTENAME(c.name) + N' = @obj;'
FROM sys.all_views AS v
INNER JOIN sys.all_columns AS c
ON v.[object_id] = c.[object_id]
WHERE v.[schema_id] = 4
AND c.[system_type_id] IN (56,127)
AND v.name NOT IN (N'syscolumns')
AND v.name NOT LIKE N'dm_fts_%';
EXEC sys.sp_executesql @sql, N'@obj int', @obj;
SELECT v FROM #v;
GO
DROP TABLE #v;