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
Per eliminare un elenco di proprietà
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