sql >> Databáze >  >> Database Tools >> SSMS

Vzdálené připojení k MS SQL – Chyba při použití pyodbc vs. úspěch pomocí SQL Server Management Studio

„Ale proč...?“

Pro zájemce o proč SQL Server Management Studio (SSMS) se může připojit k servername\instance zatímco jiné aplikace (jako naše aplikace pyodbc) nemohou, je to proto, že SSMS uchovává seznam čísel portů MRU (nejnověji používaných) v registru Windows na adrese

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib\LastConnect

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\MSSQLServer\Client\SuperSocketNetLib\LastConnect

Každý záznam MRU (hodnota registru) vypadá asi takto:

Name: PANORAMA\SQLEXPRESS
Type: REG_SZ 
Data: -1006030326:tcp:PANORAMA,52865

Jakmile se SSMS úspěšně připojí podle názvu instance prostřednictvím služby SQL Browser na vzdáleném počítači, může pokračovat v připojení podle názvu instance, i když SQL Browser již na vzdáleném počítači není spuštěn, za předpokladu, že se nezměnilo číslo portu. Aplikace, které tento seznam MRU nepoužívají (jako naše aplikace pyodbc), musí mít na vzdáleném počítači spuštěnou službu SQL Browser pokaždé, když se chtějí připojit podle názvu instance.

Nejběžnější scénář:

  • Chci se připojit k YOUR-PC\SQLEXPRESS . Zkouším to udělat ze SSMS na MY-PC , ale nefunguje to, protože prohlížeč SQL byl nainstalován s "Start Mode" nastaveným na "Manual" na YOUR-PC .
  • Žádám vás o spuštění služby SQL Browser na YOUR-PC , a laskavě vyhovíte, ale pouze spustíte službu a zapomenete změnit nastavení „Režim spuštění“ na „Automaticky“.
  • Mohu se připojit přes SSMS (která ukládá do mezipaměti YOUR-PC\SQLEXPRESS port v MRU). Moje aplikace Python se také může připojit.
  • Příště YOUR-PC restartuje, mohu se připojit přes SSMS (přes MRU), ale moje pythonová aplikace nemůže (protože služba SQL Browser již na YOUR-PC neběží ).


  1. Jak mohu vypustit více primárních klíčů do tabulek phpmyadmin?

  2. Jak určit efektivní oprávnění pro uživatele databáze SQL Server prostřednictvím C#?

  3. phpMyAdmin Nelze dosáhnout adresáře, který jste nastavili pro práci s nahráváním

  4. import/export velmi velké databáze mysql v phpmyadmin