Полнотекстовый каталог по умолчанию не существует в базе данных, или у пользователя нет разрешений на выполнение этого действия

Microsoft.SQLServer.2008.A_default_full_text_catalog_does_not_exist_in_the_database_or_user_does_not_have_permission_to_perform_this_action_5_Rule (Rule)

Knowledge Base article:

Сводка

Полнотекстовый каталог не существует, или у пользователя нет разрешений для создания полнотекстового индекса в этом каталоге.

Причины

Обязательное использование полнотекстового каталога не требуется. Однако если каталог по умолчанию не определен, то при выполнении инструкции CREATE FULLTEXT INDEX необходимо указать имя каталога.

Необходимо иметь разрешение на CREATE FULLTEXT CATALOG в базе данных, чтобы создать полнотекстовый каталог, или разрешение на REFERENCES для каталога, чтобы создать полнотекстовый индекс в данном каталоге.

Решения

Дополнительные сведения см. в следующих разделах электронной документации по SQL Server 2008:

"CREATE FULLTEXT INDEX (Transact-SQL)"

"CREATE FULLTEXT CATALOG (Transact-SQL)"

"GRANT разрешения_для_полнотекстового_каталога (Transact-SQL)"

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID9967
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Полнотекстовый каталог по умолчанию не существует в базе данных, или у пользователя нет разрешений на выполнение этого действия
{0}
Event LogApplication
CommentMom2008ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.Windows.EventProvider Microsoft.SQLServer.SQLDefaultAccount
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.2008.A_default_full_text_catalog_does_not_exist_in_the_database_or_user_does_not_have_permission_to_perform_this_action_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>9967</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.A_default_full_text_catalog_does_not_exist_in_the_database_or_user_does_not_have_permission_to_perform_this_action_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>