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

- Πώς επαναφέρουμε μία Oracle Database που βρίσκεται σε archive-log mode με RMAN Restore - 1 Δεκέμβριος 2025
- Πώς μπορούμε να συνδέσουμε SQL Server με άλλον SQL Server με τη χρήση Linked Server - 3 Νοέμβριος 2025
- Πώς απελευθερώνουμε δεσμευμένο χώρο από datafiles / tempfiles μίας βάσης δεδομένων της Oracle - 1 Σεπτέμβριος 2025
Ο 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 Server, New Linked Server…:

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

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

*Προσοχή, με την επιλογή “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');


