Condividi tramite


CREATE SEARCH PROPERTY LIST (Transact-SQL)

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.

Nota importanteImportante

CREATE SEARCH PROPERTY LIST, ALTER SEARCH PROPERTY LIST e DROP SEARCH PROPERTY LIST sono supportati solo con livello di compatibilità 110. Con livelli di compatibilità inferiori, queste istruzioni non sono supportate.

Icona di collegamento a un argomento Convenzioni della 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 con un numero 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 verrà utilizzato 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. È inoltre necessario disporre delle 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 disporre dell'autorizzazione IMPERSONATE su owner_name. Se viene omesso, la proprietà viene assegnata all'utente corrente.

    [!NOTA]

    Il proprietario può essere modificato utilizzando l'istruzione ALTER AUTHORIZATION Transact-SQL.

Osservazioni

[!NOTA]

Per informazioni sugli elenchi di proprietà in generale, 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

A.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 utilizzata 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 popolamento.

[!NOTA]

Per un esempio in cui vengono aggiunte diverse proprietà di ricerca conosciute 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 AdventureWorks;
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 l'elenco delle proprietà di ricerca, JobCandidateProperties, dall'elenco creato nell'esempio A, DocumentPropertyList, associato a un indice full-text nel database AdventureWorks. 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 AdventureWorks. 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 AdventureWorks.DocumentPropertyList;
GO
ALTER FULLTEXT INDEX ON HumanResources.JobCandidate 
   SET SEARCH PROPERTY LIST JobCandidateProperties;
GO

Vedere anche

Riferimento

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)

Concetti

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