MSSQL on Linux: 기본 전체 텍스트 카탈로그가 데이터베이스에 없거나 사용자에게 이 동작을 수행할 권한이 없습니다.

Microsoft.SQLServer.Linux.EventRule.DBEngine.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 온라인 설명서에서 다음 항목을 참조하세요.

"CREATE FULLTEXT INDEX(Transact-SQL)"

"CREATE FULLTEXT CATALOG(Transact-SQL)"

"GRANT 전체 텍스트 카탈로그 권한 (Transact-SQL)"

재정의 가능한 매개 변수

이름

설명

기본값

사용

워크플로 사용하거나 사용하지 않도록 설정합니다.

간격(초)

워크플로를 실행하는 반복 시간 간격(초)입니다.

300

우선 순위

알림 우선 순위를 정의합니다.

1

심각도

알림 심각도를 정의합니다.

1

동기화 시간

동기화 시간

 

시간 제한(초)

여기서 지정한 시간 동안 워크플로가 실행된 후 워크플로가 닫히고 실패로 표시됩니다.

200

데이터베이스 연결 시간 제한(초)

워크플로는 지정된 기간 동안 데이터베이스에 액세스할 수 없으면 실패하며 이벤트를 등록합니다.

15

Element properties:

TargetMicrosoft.SQLServer.Linux.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL on Linux: 기본 전체 텍스트 카탈로그가 데이터베이스에 없거나 사용자에게 이 동작을 수행할 권한이 없습니다.
{0}
CommentMom2017ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.A_default_full_text_catalog_does_not_exist_in_the_database_or_user_does_not_have_permission_to_perform_this_action_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{ACF21E73-7DD4-4899-A1BF-5BCBACF479EF}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9967</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Linux.EventRule.DBEngine.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>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>