Domanda

Il nostro caso d'uso è un database responsabile per account, sessioni, licenze, ecc. & # 8212; deve essere sottoposto a polling all'avvio del client, quindi un'alta affidabilità è fondamentale. Pertanto, vorremmo replicare su server diversi in reti fisicamente separate, nel caso in cui un intero datacenter dovesse andare in crash. Ho impostato con successo un abbonamento push a un altro server nella stessa rete, quindi generalmente funziona. È la connessione ai server esterni alla rete di cui ho bisogno per funzionare ora.

La replica non funziona direttamente attraverso le reti. Microsoft suggerisce una replica VPN o web . Quest'ultimo mi sembra inefficiente (e dicono & Quot; Nota: la sincronizzazione Web è progettata per sincronizzare i dati con computer portatili, dispositivi portatili e altri client. La sincronizzazione Web non è intesa per server-server ad alto volume applicazioni quot. &;)

La prima, una VPN, funzionerebbe, ma continuo a considerarla una soluzione inutilmente complessa (per non parlare del potenziale aggiunto per problemi di sicurezza) per eseguire continuamente una connessione VPN. Preferirei semplicemente eseguire un tunnel SSH. Tuttavia, non riesco a trovare alcun articolo che spieghi come fare questo e non parli di MySQL.

Ho un server SSH impostato sull'abbonato e ho usato PuTTY per stabilire un tunnel da <publisher>:1434 a <subscriber>:1433. Tuttavia, non riesco a far connettere SQL Server Management Studio in questo modo (non sono sicuro che supporti la sintassi della porta :). Ho anche impostato un alias su Gestione configurazione SQL Server di <publisher>, con @@servername di <subscriber>, che punta a localhost:1434. Anche la connessione non sembra funzionare.

Ho usato l'opzione di abbonamento push, quindi immagino che l'editore debba connettersi al sottoscrittore, non viceversa.

Entrambi i server utilizzano l'istanza predefinita ed eseguono SQL Server 2005 SP 2 su Windows Server 2003 SP 2. Il server SSH nell'abbonato è freeSSHd 1.2.1.

È possibile? C'è un altro modo in cui posso sfruttare SSH per far finta che la macchina esista all'interno della stessa rete? O devo andare con una VPN?

È stato utile?

Soluzione

Quando parli di posizioni diverse per i server, significa anche domini diversi? Il tuo commento sulla replica Web è vero, ma si applica solo alle modifiche quotidiane apportate al database. Lo snapshot iniziale può essere di qualsiasi dimensione, anche se si tratta di un enorme database. Se i tuoi aggiornamenti giornalieri sono limitati (alcuni 1000 mi sembrano ok), provaci. È veloce!

EDIT:

C'è un grosso problema di dominio / sicurezza quando inizi a pensare allo scambio di dati tra server. Se è necessario connettere server appartenenti a domini diversi tramite una VPN o un collegamento dedicato e se non si desidera passare a SQL Security (evitarlo!), Si dovranno affrontare problemi specifici (e di licenza!) Relativi alla fiducia del dominio . Uno dei lati intelligenti della replica Web è evitare questo tipo di problema (e costi aggiuntivi) proteggendo la connessione tramite protocollo https.

Altri suggerimenti

So che questo è un vecchio post, ma spero che questo aiuti: SQL Server Management Studio utilizza una virgola per separare l'host dalla porta.

Come si specifica un numero di porta diverso in SQL Management Studio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top