Condividi tramite


Procedura: Definizione e modifica di un filtro di riga con parametri per un articolo di merge (SQL Server Management Studio)

Definire, modificare ed eliminare filtri di riga con parametri nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione oppure nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Publication>. Per ulteriori informazioni sull'utilizzo della procedura guidata e sull'accesso a questa finestra di dialogo, vedere Procedura: Creazione di una pubblicazione e definizione di articoli (SQL Server Management Studio) e Procedura: Visualizzazione e modifica delle proprietà delle pubblicazioni e degli articoli (SQL Server Management Studio).

[!NOTA] Se si aggiunge, si modifica o si elimina un filtro di riga con parametri nella finestra di dialogo Proprietà pubblicazione - <Publication> dopo l'inizializzazione delle sottoscrizioni della pubblicazione, dopo la modifica è necessario generare un nuovo snapshot e reinizializzare tutte le sottoscrizioni. Per ulteriori informazioni sui requisiti per la modifica delle proprietà, vedere Modifica delle proprietà di pubblicazioni e articoli.

Per definire un filtro di riga con parametri

  1. Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione oppure nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Publication> fare clic su Aggiungi e quindi su Aggiungi filtro.

  2. Nell'elenco a discesa nella finestra di dialogo Aggiungi filtro selezionare una tabella da filtrare.

  3. Creare un'istruzione per il filtro nella casella di testo Istruzione per il filtro. È possibile digitare direttamente nell'area di testo, nonché trascinare colonne dalla casella di riepilogo Colonne.

    • Nell'area di testo Istruzione per il filtro è incluso il testo predefinito con il formato:

      SELECT <published_columns> FROM [tableowner].[tablename] WHERE
      
    • Non è possibile modificare il testo predefinito. Digitare la clausola di filtro dopo la parola chiave WHERE utilizzando la sintassi SQL standard. Un filtro con parametri include una chiamata alla funzione di sistema HOST_NAME() e/o SUSER_SNAME() oppure a una funzione definita dall'utente che fa riferimento a una di queste funzioni o a entrambe. Di seguito è riportato un esempio di una clausola di filtro completa per un filtro di riga con parametri:

      SELECT <published_columns> FROM [HumanResources].[Employee] WHERE LoginID = SUSER_SNAME()
      

      Per la clausola WHERE è necessario utilizzare un nome costituito da due parti, in quanto i nomi a tre e quattro parti non sono supportati.

      ms152518.note(it-it,SQL.90).gifImportante:
      Per motivi relativi alle prestazioni, è consigliabile evitare di applicare funzioni ai nomi di colonna nelle clausole di filtro di riga con parametri, come LEFT([MyColumn]) = SUSER_SNAME(). Se si utilizza HOST_NAME in una clausola di filtro e si sostituisce il valore HOST_NAME, potrebbe essere necessario convertire i tipi di dati mediante CONVERT. Per ulteriori informazioni sulle procedure consigliate in questo caso, vedere la sezione relativa alla sostituzione del valore HOST_NAME() nell'argomento Filtri di riga con parametri.
  4. Selezionare l'opzione corrispondente al modo in cui i dati verranno condivisi tra i Sottoscrittori:

    • Una riga di questa tabella verrà inviata a più sottoscrizioni
    • Una riga di questa tabella verrà inviata a una sola sottoscrizione

    Se si seleziona Una riga di questa tabella verrà inviata a una sola sottoscrizione, sarà possibile ottimizzare le prestazioni della replica di tipo merge archiviando ed elaborando un quantità inferiore di metadati. È tuttavia necessario verificare che i dati siano partizionati in modo da non poter replicare una riga in più sottoscrittori. Per ulteriori informazioni, vedere la sezione relativa all'impostazione delle opzioni di partizionamento nell'argomento Filtri di riga con parametri.

  5. Scegliere OK.

  6. Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> fare clic su OK per salvare e chiudere la finestra di dialogo.

Per modificare un filtro di riga con parametri

  1. Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare un filtro nel riquadro Tabelle filtrate e fare clic su Modifica.

  2. Nella finestra di dialogo Modifica filtro modificare il filtro.

  3. Scegliere OK.

Per eliminare un filtro di riga con parametri

  1. Nella pagina Filtro righe tabella della Creazione guidata nuova pubblicazione o nella pagina Filtra righe della finestra di dialogo Proprietà pubblicazione - <Pubblicazione> selezionare un filtro nel riquadro Tabelle filtrate e fare clic su Elimina.

Vedere anche

Concetti

Filtri join
Filtri di riga con parametri

Altre risorse

How to: Define and Modify a Parameterized Row Filter for a Merge Article (Replication Transact-SQL Programming)

Guida in linea e informazioni

Assistenza su SQL Server 2005