Ну, я не знаю, что означает ST, но исходя из соглашения об именах, я должен был бы предположить, что это какая-то сгенерированная системой статистика.
Вы можете проверить, есть ли случайно какой-то текст, связанный с объектом, если это модуль, например:
SELECT OBJECT_DEFINITION(613577224);
SELECT definition FROM sys.all_sql_modules
WHERE object_id = 613577224;
Вы также можете попробовать:
EXEC sp_help N'dbo._ST_OEA33...';
Наконец, вы можете попытаться грубо обнаружить этот объект в любом из представлений каталога. Этот скрипт пытается найти любое представление, содержащее строку, object_id
столбец которой равен этому значению.
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;
Если это ничего не дает, вы можете расширить его, включив в него все int
столбцы на основе всех представлений каталога, поскольку иногда object_id
значения хранятся в столбцах с разными именами, такими как referenced_major_id
или parent_object_id
, и любые результаты здесь могут также дать подсказки.
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;