I server collegati sono una necessità nella maggior parte degli ambienti SQL Server. Un server collegato consente a un’istanza di SQL Server di comunicare con un’altra istanza o con altri prodotti di database come Oracle o MySQL. I server collegati possono anche essere configurati come provider OLE DB per comunicare con prodotti aggiuntivi come Excel e Access.
Creare e configurare un server collegato è abbastanza semplice, per la maggior parte., Nella maggior parte dei casi è probabile che li crei per una semplice comunicazione istanza-istanza di SQL Server.
I passaggi seguenti descrivono cosa è necessario per creare un server collegato di base in modo che un’istanza di SQL Server possa comunicare con un’altra e consentire le chiamate di procedura remota (RPC). RPC consente l’esecuzione remota di una stored procedure da un server all’altro (server collegato).
Per iniziare, connettersi al server di database in Microsoft SQL Management Studio. Espandere il menu a discesa Oggetti server, fare clic con il pulsante destro del mouse su Server collegati e selezionare Nuovo server collegato…,
Una volta visualizzata la nuova finestra del server collegato, dovremo apportare alcune modifiche alle impostazioni predefinite. Per iniziare, immettere il nome del server che si desidera collegare. In questo esempio sto creando il server collegato su LAB-SQL2012
per connettermi aLAB-SQL-04
.
Per impostazione predefinita il tipo di server verrà impostato su Un’altra origine dati. Poiché stiamo creando un collegamento a un’istanza di SQL Server in uscita, selezionare il pulsante di opzione accanto a SQL Server come mostrato di seguito.
Quindi selezionare la pagina di sicurezza., Dovremo fare un rapido cambiamento anche qui. Nella parte inferiore dello schermo, sotto Per un login non definito nella lista di cui sopra, connessioni sarà:, selezionare il pulsante di opzione accanto da effettuare utilizzando questo contesto di sicurezza. Qui si desidera fornire le credenziali per la connessione al server. La migliore pratica consiste nel creare un account di servizio per gestire le connessioni del server collegato. Ti consigliamo di assicurarti che all’account del servizio siano state concessedatareader
edatawriter
appartenenze ai ruoli per ogni database sul server che desideri sia accessibile., Sarà inoltre necessario creare l’account di servizio su tutti i server che verranno collegati. Per ulteriori informazioni sulla creazione di account di accesso in SQL Server, è possibile rivedere il mio post sulla creazione di un nuovo accesso di autenticazione di SQL Server e l’assegnazione di appartenenze di ruolo.
Il passo finale è configurare la pagina delle opzioni del server. Sebbene tu possa potenzialmente lasciare intatta l’impostazione predefinita in questa pagina, è probabile che tu richieda ai tuoi server collegati di avere la possibilità di eseguire stored procedure cross-server, nel qual caso devi impostare RPC e RPC su True., È anche possibile configurare il timeout di connessione e le soglie di timeout di query anche qui, anche se nella maggior parte dei casi è bene lasciarle impostate sul valore 0 predefinito.
Una volta apportate tutte le modifiche necessarie, fare clic su OK. Il nuovo server collegato è stato creato.
Espandi il menu a discesa Server collegati e vedrai il tuo nuovo server collegato nell’elenco insieme ad altri collegamenti esistenti.
Come con la maggior parte di qualsiasi cosa in SQL Server, puoi anche creare uno script creando un nuovo server collegato., Il seguente script creerà lo stesso server collegato come è stato creato sopra. Ho notato con i commenti la sezione di codice nella parte superiore in cui è necessario fornire le credenziali di accesso e il nome del server.
Questa è una versione modificata dello script che è possibile estrarre da Management Studio. Ho creato variabili per il server, login e password per consentire di modificare rapidamente lo script durante la creazione di un nuovo server collegato. Tengo un modello di questo script salvato in modo da poter fornire rapidamente il nome del server e le credenziali di accesso per creare nuovi server collegati al volo.