Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server με τη χρήση Linked Server

Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server με τη χρήση Linked Server
Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server με τη χρήση Linked Server

Ο SQL Server μας δίνει τη δυνατότητα να μπορούμε να συνδεόμαστε και να εκτελούμε queries σε απομακρυσμένα Database Instances που δεν είναι απαραίτητο όμως να είναι στο ίδιο RDBMS. Στο άρθρο αυτό θα δούμε συγκεκριμένα πώς γίνεται από instance του SQL Server προς άλλο instance του SQL Server με τη χρήση Linked Server.

Σε προηγούμενο άρθρο είχαμε δει πως συνδέουμε SQL Server με Oracle με τη χρήση PolyBase. Η κύρια διαφορά είναι ότι με τον Linked Server δεν διαβάζουμε απλά δεδόμενα αλλά μπορούμε να εκτελέσουμε Stored Procedures και να τροποποιούμε τα δεδομένα με inserts, updates, deletes.

* Όλες τις διαφορές μεταξύ Linked Server και PolyΒase μπορούμε να τις διαβάσουμε από εδώ.

Η εγκατάσταση

Για αρχή συνδεόμαστε στον SQL Server από το SQL Server Management Studio και επιλέγουμε Server Objects και δεξί κλικ Linked ServerNew Linked Server…:

Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server instance με χρήση Linked Server
01

Στην καρτέλα General ορίζουμε το όνομα που θέλουμε να έχει ο Linked Server, ως Server type Provider Microsoft OLE DB Provider for SQL Server και ως Data source το όνομα του SQL Server instance που θέλουμε να συνδεθούμε:

Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server instance με χρήση Linked Server
02

Στην καρτέλα Security επιλέγουμε Be made using this security context και βάζουμε τα credentials του χρήστη με του απομακρυσμένου SQL Server instance με τον οποίο θα συνδεόμαστε:

Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server instance με χρήση Linked Server
03

*Προσοχή, με την επιλογή “Be made using this security context” οποιοδήποτε χρήσης έχει πρόσβαση στον τοπικό server μπορεί να τρέξει queries στον απομακρισμένο server με τα δικαιώματα που έχει ο χρήστης “dbadmin” που βάλαμε στο παράδειγμα, η εναλλακτική επιλογή αν θέλουμε να το περιορίσουμε αυτό είναι “Be made using the login’s current security context” που ουσιαστικά θα τρέξει το query με τα δικαιώματα που έχει στον απομακρυσμένο server ο χρήστης που το εκτελεί αλλά η χρήση του απαιτεί να ανήκουν στο ίδιο domain οι δυο servers και την χρήση λογαριασμών με Windows Authentication στο Active Directory.

Ολοκληρώνοντας τον Linked Server μπορούμε με τη χρήση openquery να καλέσουμε τον Linked Server που φτιάξαμε και να ορίσουμε το query που θέλουμε να τρέξει προς το άλλο SQL Server instance:

select * from openquery(ws2,'select * from demo_db.dbo.users');
Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server instance με χρήση Linked Server
04

Πηγές:

Μοιράσου το

Αφήστε μία απάντηση