Condividi tramite


CREATE SEARCH PROPERTY LIST (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza 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 ha esito negativo e restituisce 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 modificato usando l'istruzione Transact-SQL ALTER AUTHORIZATION.

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 istruzione CREATE SEARCH PROPERTY LIST ha esito negativo se si verifica una delle condizioni seguenti:

  • 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

Sono richieste autorizzazioni CREATE FULLTEXT CATALOG nel database corrente e autorizzazioni REFERENCES in qualsiasi database da cui viene copiato un elenco delle proprietà di origine.

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. Nell'esempio viene quindi usata un'istruzione ALTER FULLTEXT INDEX per associare il nuovo elenco di proprietà all'indice full-text della tabella Production.Document nel database AdventureWorks, senza avviare un'operazione di popolamento.

Nota

Per un esempio in cui vengono aggiunte diverse proprietà di ricerca note e predefinite a questo elenco delle proprietà di ricerca, vedere ALTER SEARCH PROPERTY LIST (Transact-SQL). Una volta aggiunte le proprietà di ricerca all'elenco, l'amministratore del database dovrebbe utilizzare un'altra istruzione ALTER FULLTEXT INDEX 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 AdventureWorks2022. Nell'esempio viene quindi utilizzata un'istruzione ALTER FULLTEXT INDEX per associare il nuovo elenco di proprietà all'indice full-text della tabella HumanResources.JobCandidate nel database AdventureWorks2022. Questa istruzione ALTER FULLTEXT INDEX avvia un popolamento completo, che corrisponde al comportamento predefinito della clausola 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

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