sql >> Databáze >  >> RDS >> Sqlserver

Vytvořte propojený server mezi dvěma kontejnery Docker se systémem SQL Server (příklad T-SQL)

Tento článek vás provede procesem vytvoření propojeného serveru z instance SQL Server v jednom kontejneru Docker do instance SQL Server v jiném kontejneru Docker. Oba kontejnery Docker jsou na stejném počítači.

Proces je přesně stejný, jaký byste použili k vytvoření libovolného propojeného serveru (například i když instance SQL Serveru byly na samostatných počítačích a neběžely v kontejneru Docker).

Všechny příklady zde používají Transact-SQL. To vám umožní vytvořit propojený server, aniž byste se spoléhali na grafické uživatelské rozhraní (jako je SSMS).

Vytvořte propojený server

Chcete-li vytvořit propojený server pomocí T-SQL, spusťte sp_addlinkedserver uložená procedura při předávání názvu propojeného serveru i jeho zdroje.

Zde je příklad vytvoření propojeného serveru:

EXEC sp_addlinkedserver 
    @server=N'Homer', 
    @srvproduct=N'', 
    @provider=N'MSOLEDBSQL', 
    @datasrc=N'172.17.0.2,1433';

V tomto případě je název propojeného serveru Homer a zadávám IP adresu kontejneru Docker následovanou portem TCP. Podle potřeby změňte název serveru a IP adresu/port.

IP adresu svého kontejneru Docker můžete zjistit spuštěním následujícího kódu v okně terminálu:

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' Homer

Pokud to nefunguje, zkuste starší metodu:

docker inspect -f"{{.NetworkSettings.IPAddress}}" Homer

Podle potřeby změňte název kontejneru.

Otestujte propojený server

Nyní, když jste přidali propojený server, můžete použít sp_testlinkedserver vyzkoušet:

EXEC sp_testlinkedserver Homer;

Výsledek (pokud je úspěšný):

Commands completed successfully.

Přihlášení se nezdařilo?

Pokud se zobrazí chyba „Přihlášení se nezdařilo“, je pravděpodobné, že na vzdáleném serveru nemáte odpovídající přihlášení. Budete muset mít odpovídající přihlašovací údaje se stejnými přihlašovacími údaji, jaké máte na místním serveru.

Případně můžete vytvořit samostatné přihlášení pouze pro propojený server.

Další podrobnosti a příklady, jak to udělat, najdete v tématu Vytvoření propojeného serveru na serveru SQL (příklad T-SQL). Tento článek používá stejné podrobnosti pro propojený server jako ty v tomto článku. Obsahuje také příklad spuštění distribuovaného dotazu a předávacího dotazu na propojeném serveru, jakmile bude nakonfigurován.

Zrušte propojený server

Zde je příklad zrušení propojeného serveru s názvem „Homer“ a všech souvisejících přihlášení.

EXEC sp_dropserver 'Homer', 'droplogins';

droplogins argument je volitelný, ale pokud jej nezadáte při rušení propojeného serveru, který má přidružené přihlašovací položky vzdáleného a propojeného serveru nebo je nakonfigurován jako vydavatel replikace, vrátí se chybová zpráva.

Další příklady naleznete v tématu Odebrání propojeného serveru pomocí T-SQL.


  1. SQLite - Pusťte databázi

  2. mysql Omezení cizího klíče je nesprávně vytvořená chyba

  3. Klasifikace dat v IRI Workbench

  4. Jak co nejtransparentněji migrovat existující tabulku Postgres na rozdělenou tabulku?