Как найти полнотекстовое индексирование по базе данных в SQL Server 2008?
Привет! Я ищу запрос, который может найти полнотекстовое индексирование для всех таблиц и столбцов в базе данных, используя SQL Server 2008. Любая информация или помощь, которая может быть предоставлена для этого, приветствуется.
2 ответа
Вот как вы их получаете
SELECT
t.name AS TableName,
c.name AS FTCatalogName ,
i.name AS UniqueIdxName,
cl.name AS ColumnName
FROM
sys.tables t
INNER JOIN
sys.fulltext_indexes fi
ON
t.[object_id] = fi.[object_id]
INNER JOIN
sys.fulltext_index_columns ic
ON
ic.[object_id] = t.[object_id]
INNER JOIN
sys.columns cl
ON
ic.column_id = cl.column_id
AND ic.[object_id] = cl.[object_id]
INNER JOIN
sys.fulltext_catalogs c
ON
fi.fulltext_catalog_id = c.fulltext_catalog_id
INNER JOIN
sys.indexes i
ON
fi.unique_index_id = i.index_id
AND fi.[object_id] = i.[object_id];
select distinct
object_name(fic.[object_id])as table_name,
[name]
from
sys.fulltext_index_columns fic
inner join sys.columns c
on c.[object_id] = fic.[object_id]
and c.[column_id] = fic.[column_id]
Я знаю, что это старая ветка, но мне только что нужен был этот ответ, и он нашел ответ Садры Абединзаде, приведенный выше, полезным, но немного не отвечающим моим потребностям, поэтому я решил опубликовать здесь другой ответ, который является модификацией ответа Садры., чтобы включить индексированные представления с полными текстовыми индексами и некоторую дополнительную информацию о столбцах:
use MyDatabaseName -- Modify here, of course
SELECT
tblOrVw.[name] AS TableOrViewName,
tblOrVw.[type_desc] AS TypeDesc,
tblOrVw.[stoplist_id] AS StopListID,
c.name AS FTCatalogName ,
cl.name AS ColumnName,
i.name AS UniqueIdxName
FROM
(
SELECT TOP (1000)
idxs.[object_id],
idxs.[stoplist_id],
tbls.[name],
tbls.[type_desc]
FROM sys.fulltext_indexes idxs
INNER JOIN sys.tables tbls
on tbls.[object_id] = idxs.[object_id]
union all
SELECT TOP (1000)
idxs.[object_id],
idxs.[stoplist_id],
tbls.[name],
tbls.[type_desc]
FROM sys.fulltext_indexes idxs
INNER JOIN sys.views tbls -- 'tbls' reused here to mean 'views'
on tbls.[object_id] = idxs.[object_id]
) tblOrVw
INNER JOIN sys.fulltext_indexes fi
on tblOrVw.[object_id] = fi.[object_id]
INNER JOIN
sys.fulltext_index_columns ic
ON
ic.[object_id] = tblOrVw.[object_id]
INNER JOIN
sys.columns cl
ON
ic.column_id = cl.column_id
AND ic.[object_id] = cl.[object_id]
INNER JOIN
sys.fulltext_catalogs c
ON
fi.fulltext_catalog_id = c.fulltext_catalog_id
INNER JOIN
sys.indexes i
ON
fi.unique_index_id = i.index_id
AND fi.[object_id] = i.[object_id];