CREATE SEARCH PROPERTY LIST (Transact-SQL)

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Crea un nuovo elenco delle proprietà di ricerca. Un elenco delle proprietà di ricerca viene utilizzato per specificare una o più proprietà di ricerca da includere in un indice full-text.

Convenzioni relative alla sintassi Transact-SQL

Sintassi

CREATE SEARCH PROPERTY LIST new_list_name  
   [ FROM [ database_name. ] source_list_name ]  
   [ AUTHORIZATION owner_name ]  
;  

Argomenti

new_list_name
Nome del nuovo elenco delle proprietà di ricerca. new_list_name è un identificatore composto da un massimo di 128 caratteri. new_list_name deve essere univoco in tutti gli elenchi di proprietà nel database corrente e conforme alle regole per gli identificatori. new_list_name viene usato dopo la creazione dell'indice full-text.

database_name
Nome del database in cui si trova l'elenco di proprietà specificato da source_list_name. Se l'argomento database_name non viene specificato, il valore predefinito è il database corrente.

database_name deve specificare il nome di un database esistente. L'account di accesso per la connessione corrente deve essere associato a un ID utente esistente nel database specificato da database_name. Occorre inoltre avere le autorizzazioni necessarie nel database.

source_list_name
Specifica che il nuovo elenco di proprietà viene creato copiando un elenco di proprietà esistente da database_name. Se source_list_name non esiste, CREATE SEARCH PROPERTY LIST fallisce con un errore. Le proprietà di ricerca in source_list_name vengono ereditate da new_list_name.

AUTHORIZATION owner_name
Specifica il nome di un utente o di un ruolo proprietario dell'elenco di proprietà. owner_name deve essere il nome di un ruolo di cui l'utente corrente è membro oppure l'utente corrente deve avere l'autorizzazione IMPERSONATE per owner_name. Se viene omesso, la proprietà viene assegnata all'utente corrente.

Nota

Il proprietario può essere cambiato utilizzando la ALTER AUTHORIZATION dichiarazioneTransact-SQL.

Osservazioni:

Nota

Per informazioni generali sugli elenchi delle proprietà, vedere Eseguire ricerche nelle proprietà dei documenti con elenchi delle proprietà di ricerca.

Per impostazione predefinita, un nuovo elenco delle proprietà di ricerca è vuoto ed è necessario modificarlo manualmente per aggiungere una o più proprietà di ricerca. In alternativa, è possibile copiare un elenco delle proprietà di ricerca esistente. In questo caso, il nuovo elenco eredita le proprietà di ricerca dell'origine, ma è possibile modificare il nuovo elenco per aggiungere o rimuovere le proprietà di ricerca. Tutte le proprietà nell'elenco delle proprietà di ricerca al momento del popolamento completo successivo vengono incluse nell'indice full-text.

Un'affermazione CREATE SEARCH PROPERTY LIST fallisce in una delle seguenti condizioni:

  • Se il database specificato da database_name non esiste.

  • Se l'elenco specificato da source_list_name non esiste.

  • Se non sono disponibili le autorizzazioni corrette.

Per aggiungere o rimuovere proprietà da un elenco

Autorizzazioni

Richiede CREATE FULLTEXT CATALOG permessi nel database corrente e permessi REFERENCE su qualsiasi database da cui si copia una lista di proprietà sorgente.

Nota

L'autorizzazione REFERENCES è necessaria per associare l'elenco a un indice full-text. L'autorizzazione CONTROL è necessaria per aggiungere e rimuovere proprietà o eliminare l'elenco. Il proprietario dell'elenco di proprietà può concedere autorizzazioni REFERENCES o CONTROL sull'elenco. Gli utenti con l'autorizzazione CONTROL possono inoltre concedere l'autorizzazione REFERENCES ad altri utenti.

Esempi

R. Creazione di un elenco di proprietà vuoto e relativa associazione a un indice

Nell'esempio seguente viene creato un nuovo elenco delle proprietà di ricerca denominato DocumentPropertyList. L'esempio utilizza quindi un'istruzione ALTER FULLTEXT INDEX per associare la nuova lista delle proprietà all'indice a testo completo della Production.Document tabella nel AdventureWorks database, senza avviare una popolazione.

Nota

Per un esempio che aggiunge diverse proprietà di ricerca predefinite e ben note a questa lista di proprietà di ricerca, vediALTER SEARCH PROPERTY LIST (Transact-SQL). Dopo aver aggiunto proprietà di ricerca all'elenco, l'amministratore del database dovrebbe utilizzare un'altra ALTER FULLTEXT INDEX istruzione con la clausola 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. Creazione di un elenco di proprietà da uno esistente

Nell'esempio seguente viene creato un nuovo elenco delle proprietà di ricerca, JobCandidateProperties, dall'elenco creato nell'esempio A, DocumentPropertyList, associato a un indice full-text nel database AdventureWorks2025. L'esempio utilizza quindi un'istruzione ALTER FULLTEXT INDEX per associare la nuova lista delle proprietà all'indice a testo completo della HumanResources.JobCandidate tabella nel AdventureWorks2025 database. Questa ALTER FULLTEXT INDEX affermazione avvia una popolazione completa, che è il comportamento predefinito della SETSEARCH PROPERTY LIST clausola.

CREATE SEARCH PROPERTY LIST JobCandidateProperties 
FROM AdventureWorks2022.DocumentPropertyList;  
GO  
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate   
   SET SEARCH PROPERTY LIST JobCandidateProperties;  
GO

Vedi anche

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)
Eseguire ricerche nelle proprietà dei documenti con elenchi delle proprietà di ricerca
Trovare GUID del set di proprietà e ID di tipo integer delle proprietà per le proprietà di ricerca