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.