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
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.
Nella finestra di dialogo Aggiungi filtro selezionare una tabella da filtrare nell'elenco a discesa.
Creare un'istruzione di filtro nella casella di testo Istruzione per il filtro. È possibile digitare direttamente nell'area di testo nonché trascinare colonne dalla casella di riepilogo Colonne.
L'area di testo Istruzione per il filtro contiene il testo predefinito, nel formato seguente:
SELECT <published_columns> FROM [tableowner].[tablename] WHERE
Il testo predefinito non può essere modificato. 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()
Nella clausola WHERE devono essere utilizzati nomi in due parti. Non sono supportati nomi in tre e quattro parti.
Importante 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.
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
Selezionando Una riga di questa tabella verrà inviata a una sola sottoscrizione è possibile ottimizzare le prestazioni della replica di tipo merge archiviando ed elaborando una minore quantità di metadati. È tuttavia necessario garantire che i dati vengano partizionati in modo da non consentire la replica di una riga in più Sottoscrittori. Per ulteriori informazioni, vedere la sezione relativa all'impostazione delle opzioni delle partizioni nell'argomento Filtri di riga con parametri.
Fare clic su OK.
Se è visualizzata la finestra di dialogo Proprietà pubblicazione - <Publication>, fare clic su OK per salvare e chiudere la finestra di dialogo.
Per modificare un filtro 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> selezionare un filtro nel riquadro Tabelle filtrate e quindi fare clic su Modifica.
Nella finestra di dialogo Modifica filtro modificare il filtro.
Fare clic su OK.
Per eliminare un filtro 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> selezionare un filtro nel riquadro Tabelle filtrate e quindi fare clic su Elimina.