CREATE SEARCH PROPERTY LIST(Transact-SQL)
적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance
새로운 검색 속성 목록을 만듭니다. 검색 속성 목록은 전체 텍스트 인덱스에 포함할 하나 이상의 검색 속성을 지정하는 데 사용됩니다.
구문
CREATE SEARCH PROPERTY LIST new_list_name
[ FROM [ database_name. ] source_list_name ]
[ AUTHORIZATION owner_name ]
;
인수
new_list_name
새 검색 속성 목록 이름입니다. new_list_name은 최대 128자의 식별자입니다. new_list_name은 목록에서 고유해야 하며 식별자 규칙을 따릅니다. new_list_name은 전체 텍스트 인덱스를 만들 때 사용합니다.
database_name
source_list_name에 지정된 속성 목록이 있는 데이터베이스의 이름입니다. database_name을 지정하지 않으면 기본적으로 현재 데이터베이스가 됩니다.
database_name은 기존 데이터베이스 이름을 지정해야 합니다. 현재 연결의 로그인은 database_name에 지정된 데이터베이스의 기존 사용자 ID와 연결되어야 합니다. 데이터베이스에 대한 필수 사용 권한도 있어야 합니다.
source_list_name
database_name에서 기존 속성 목록을 복사하여 새로운 속성 목록을 만들도록 지정합니다. source_list_name이 없으면 CREATE SEARCH PROPERTY LIST가 실패하고 오류가 발생합니다. source_list_name의 검색 등록 정보는 new_list_name에 의해 상속됩니다.
AUTHORIZATION owner_name
속성 목록을 소유할 사용자 또는 역할 이름을 지정합니다. owner_name은 현재 사용자가 멤버로 속한 역할의 이름이어야 합니다. 그렇지 않으면 현재 사용자가 owner_name에 대한 IMPERSONATE 권한이 있어야 합니다. 값을 지정하지 않으면 현재 사용자에게 소유권이 부여됩니다.
참고
ALTER AUTHORIZATIONTransact-SQL 문을 사용하여 소유자를 변경할 수 있습니다.
설명
참고
일반적으로 속성 목록에 대한 자세한 내용은 검색 속성 목록을 사용하여 문서 속성 검색을 참조하세요.
기본적으로 새 검색 속성 목록은 비어 있으므로 검색 속성 목록을 변경하여 하나 이상의 검색 속성을 수동으로 추가해야 합니다. 또는 기존 검색 속성 목록을 복사할 수 있습니다. 이 경우 새 목록이 해당 원본의 검색 속성을 상속하지만 새 목록을 변경하여 검색 속성을 추가하거나 제거할 수 있습니다. 다음 번 전체 채우기를 수행할 당시의 검색 속성 목록의 속성이 전체 텍스트 인덱스에 포함됩니다.
다음 조건에서는 CREATE SEARCH PROPERTY LIST 문이 실패합니다.
database_name으로 지정한 데이터베이스가 없을 경우
source_list_name으로 지정한 목록이 없을 경우
올바른 사용 권한이 없을 경우
목록에서 속성을 추가하거나 제거하려면
사용 권한
현재 데이터베이스에서 CREATE FULLTEXT CATALOG 권한이 필요하고 원본 속성 목록을 복사하는 데이터베이스에 대한 REFERENCES 권한이 필요합니다.
참고
목록을 전체 텍스트 인덱스와 연결하려면 REFERENCES 권한이 필요합니다. 속성을 추가 및 제거하거나 목록을 삭제하려면 CONTROL 권한이 필요합니다. 속성 목록 소유자는 목록에 대한 REFERENCES 또는 CONTROL 권한을 부여할 수 있습니다. CONTROL 권한을 가진 사용자는 다른 사용자에게 REFERENCES 권한을 부여할 수도 있습니다.
예제
A. 빈 속성 목록을 만들고 인덱스와 연결
다음 예에서는 DocumentPropertyList
라는 새 검색 속성 목록을 만듭니다. 그런 다음, 이 예에서는 채우기를 시작하지 않고 ALTER FULLTEXT INDEX 문을 사용하여 새 속성 목록을 AdventureWorks
데이터베이스에 있는 Production.Document
테이블의 전체 텍스트 인덱스와 연결합니다.
참고
이 검색 속성 목록에 미리 정의되고 잘 알려진 검색 속성을 여러 개 추가하는 예에 대해서는 ALTER SEARCH PROPERTY LIST(Transact-SQL)를 참조하세요. 목록에 검색 속성을 추가한 후에는 데이터베이스 관리자가 다른 ALTER FULLTEXT INDEX 문을 START FULL POPULATION 절과 함께 사용해야 합니다.
CREATE SEARCH PROPERTY LIST DocumentPropertyList;
GO
USE AdventureWorks2022;
ALTER FULLTEXT INDEX ON Production.Document
SET SEARCH PROPERTY LIST DocumentPropertyList
WITH NO POPULATION;
GO
B. 기존 속성 목록을 사용하여 속성 목록 만들기
다음 예에서는 예 A에서 만든 목록 DocumentPropertyList
로 새 검색 속성 목록 JobCandidateProperties
를 만듭니다. 예 A의 목록은 AdventureWorks2022
데이터베이스에서 전체 텍스트 인덱스와 연결되어 있습니다. 그런 다음 이 예에서는 ALTER FULLTEXT INDEX 문을 사용하여 새 속성 목록을 HumanResources.JobCandidate
데이터베이스에 있는 AdventureWorks2022
테이블의 전체 텍스트 인덱스와 연결합니다. 이 ALTER FULLTEXT INDEX 문이 전체 채우기를 시작합니다. 전체 채우기는 SET SEARCH PROPERTY LIST 절의 기본 동작입니다.
CREATE SEARCH PROPERTY LIST JobCandidateProperties
FROM AdventureWorks2022.DocumentPropertyList;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate
SET SEARCH PROPERTY LIST JobCandidateProperties;
GO
관련 항목
ALTER SEARCH PROPERTY LIST(Transact-SQL)
DROP SEARCH PROPERTY LIST(Transact-SQL)
sys.registered_search_properties(Transact-SQL)
sys.registered_search_property_lists(Transact-SQL)
sys.dm_fts_index_keywords_by_property(Transact-SQL)
검색 속성 목록을 사용하여 문서 속성 검색
검색 속성의 속성 집합 GUID 및 속성 정수 ID찾기