MSSQL szerver távoli elérése
2012-08-30T13:35:56+02:00
2012-08-31T20:40:55+02:00
2022-08-06T14:45:30+02:00
volgyi_peter
Sziasztok,
egy otthoni LAN hálózatban szeretnék elérni egy SQL-szervert a kliens gépről. 4 hete próbálkozok, már minden lehetséges fórumot és internetes honlapot átolvastam, mindent kipróbáltam, de nem sikerül még mindig. Ebben szeretnék valakitől segítséget kérni.
A két gép a LAN hálózatban egy TP-Link router-rel van összekötve. A két gép látja egymást, a routerben a DHCP Client List-ben benne van a két gép, IP címek látszanak.
Az egyik gépre feltelepítettem egy MSSQL Server 2005-öt. Olvastam a túzfal problémáról, ezért azt kikapcsoltam. A hálózati kapcsolat engedélyezve van. Az SQL-szerveren az SQL Server Service Manager-ben az adott szerver példány fut. Az SQL-szerveren a tűzfal ki van kapcsolva. Az SQL Server Surface Area Configuration-ban a "Surface Area Configuration for Services and Connections"-ben a Remote Connection részben engedélyezve van a remote connection (Using TCP/IP onyl). Az SQL Server Configuration Manager-ben a Protocols for SQLEXPRESS-ben a TCP/IP engedélyezve van. IP Adresses-ben a TCP Port 1433-ra beállítva. Szintén az SQL-szerveren a C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn mappába bemásoltam az SSNETLIB.DLL fájlt.
Az SVRNETCN.EXE -t elinditva beállítottam a rendelkezésre álló protokollt: TCP/IP Enabled.
A kliens gépen a CLICONFG.EXE programban engedélyezett protokoll: TCP/IP, port: 1433
Az Alias fülön a hálózati könyvtárnak be van állítva a TCP/IP, gépnév\SQLEXPRESS, és dinamikus portmeghatározás.
Az SQL szerveren az SQL Server Management Studio Express-ben létrehoztam a Security\Logins-ban létrehoztam felhasználót.
Mindezek ellenére nem tudok a kliens gépről az SQL-szerverre bejelentkezni.
Ebben szeretnék segítséget kérni, illetve ha lenne valaki, aki az alapoktól el tudná magyarázni nekem, mert szerintem itt én még nagyon nem értek valamit. Pl: melyik gépen mit kell beállítani, users, roles, schemas, jogosultságok a szerveren, portok használata, mi a különbség az "SQL Server Client Network Utility" és az "SQL Server Configuration Manager" között. Melyik gépen (szerver, kliens) melyiket kell használni?
Nem értem még, hogy a portokat a klienses és a szerveren hogyan kell beállítani?

Elérhetőségeim:
volgyi_peter@konstruktura.hu
+36-20-9426-515
Ha bárki tudna nekem segíteni, nagyon hálás lennék.
Mutasd a teljes hozzászólást!
A "szerver" gépen kerülném a dinamikus port meghatározását, Az IPAll portnál beállítanám a 1433-at. Service újraindít.

A kliens gépen kerülném a GÉPNÉV\SQLEXPRESS hivatkozást, helyette simán IP címet használnék.

pl :
Data Source=192.168.0.124;User ID=Valaki;Password=jelszo;Initial Catalog=MyDbName;

Mutasd a teljes hozzászólást!

  • Ezt a témát esetleg olvasd át -> SQL szerver másik gépen - kapcsolódás hiba
    Mutasd a teljes hozzászólást!
  • Bocsi, de szvsz egy fontos dolgot nem említettél, mégpedig az egyes gépek op.rendszerét.

    Továbbá szeretném jelezni, hogy sokan tévesen hiszik, hogy a tűzfal/vírusellenőrző kikapcsolása mindent megold.
    Ez nem így van, mert bizonyos védelmek beragadnak, sokkal hatékonyabb a precíz engedélyezési eljárások végrehajtása.

    Egyébként ha
    "- Az SQL Browser service fut a szerveren? "
    csupán ez volt a gond akkor
    stego_
    -é a pont.
    Mutasd a teljes hozzászólást!
  • Szia,

    mind a két gépen Windows XP van.

    Azon a gépen, amelyen az SQL szerver van (gép neve: PETI), azon a Start/Beállítások/Vezérlőpult/Felügyeleti eszközök/Szolgáltatások-ban :
    - SQL Server (SQLEXPRESS) Elindítva
    - SQL Server Active Directory Helper: NINCS elindítva!!---> nem is tudom, hogy ez micsoda
    - SQL Server Browser: Elindítva
    - SQL Server VSS Writer: Elindítva
    - SQLAgent$DEC: NINCS elindítva
    - SQLAgent$KULCSSOFT: nincs elindítva ----> ezt én kapcsoltam ki
    Több SQL-lel kezdődő nincs itt.

    Mutasd a teljes hozzászólást!
  • Gondlom elolvastad a teljes belinkelt témát, ott volt egy link ahol le volt írva lépésről lépésre miket kell beállítani (persze az MSSQL 2008-ra vonatkozott, de ugyanott van 2005 is)

    A Mixed mode-ot is beállítottad? Tehát, hogy ne csak a windows authentication legyen elfogadott, hanem az sql server sajátja is?
    (Szerver tulajdoságai között a Security fül)

    Enable remote connection to SQL Server 2005 Express
    Mutasd a teljes hozzászólást!
  • Próbáld meg úgy, hogy telepítesz SQL Native Client-t a kliensgépekre
    Mutasd a teljes hozzászólást!
  • Ok,ezt is játszd végig mert jó ha van tűzfal.
    Mutasd a teljes hozzászólást!
  • Sziasztok,

    Microsoft SQL Server Native Client mind a kliens, mind a szerver gépen telepítve van. Ezt ellenőriztem a "Start\Beállítások\Vezérlőpult\Programok telepítése és törlése"-ben. Ott megtaláltam az alábbiakat:
    A szerveren:
    ------------
    - Microsoft SQL Server 2005
    - Microsoft SQL Server Desktop Engine (DEV)
    - Microsoft SQL Server Desktop Engine (KULCSSOFT)
    - Microsoft SQL Server Management Studio Express
    - Microsoft SQL Server Native Client
    - Microsoft SQL Server Setup Support Files (English)
    - Microsoft SQL Server VSS Writer

    A kliensen:
    -----------
    - Microsoft SQL Server 2005
    - Microsoft SQL Server Desktop Engine (KULCSSOFT)
    - Microsoft SQL Server Management Studio Express
    - Microsoft SQL Server Native Client
    - Microsoft SQL Server Setup Support Files (English)
    - Microsoft SQL Server VSS Writer

    Az SQL-szerveren a "MicroSoft SQL Server Management Studio Express"-ben a szerverpéldányra jobb egérgombbal kattintva és a Properties (tulajdonságokat) választva ezt látom:
    - SQL Server and Windows Authentication mode BEJELÖLVE
    - Login auditing: Failed logins only BEJELÖLVE
    Mutasd a teljes hozzászólást!
  • Nem jeleztél vissza, így én is megjegyezném, hogy duplán ellenőrizd a stego_ által linkelt oldalon levő beállításokat.

    Hálózati hiba ugye kizárva? Pl. file megosztásnak működnie kell.

    Mi a pontos hiba? Kapcsolódási gond vagy bejelentkezési?

    Névfeloldás rendben van?

    Esetleg eltér a szerver címe a default-tól vagy több szerver is van a gépen, ekkor meg kell adni az instance nevét is a szerver címe mellett. Kikapcsolt tűzfal és a fenti beállítások végrehajtása után browse-nak is működnie kell. Ott megjelenik a szerver címe?
    Mutasd a teljes hozzászólást!
  • Egyébként mi is az az "SQL Native Client" egészen pontosan???
    Mert fent van a gépeken, de nem tudom, hogy igazából ez az SQL-szerveren, vagy a kliens gépen kéne fent lennie, másrészt azt sem tudom, hogy mikor és mi telepítette fel, annyi mindent csináltam én már ezzel az SQL-szerverrel. Ez is érdekelne, mert nem értem igazából. Ha tisztába tudnám rakni a fejemben a dolgokat, lehet, hogy valami logikus következtetésre el tudnék jutni, de így egyelőre csak próbálkozás, aztán valamikor hátha sikerül.
    Mutasd a teljes hozzászólást!
  • Idézet az MS-től:
    supporting native connectivity to Microsoft SQL Server
    .

    Most meg nem mondom pontosan, de szerintem az nem is opcionális komponens. De értelemszerűen azon a gépen fenn kell lennie, ahonnan csatlakozni szeretnél (kliensen biztosan).

    Ha nagyon széttúrtad a rendszereket, akkor lehet, hogy már amúgy is nehéz lenyomozni, pontosan mi lehet a gond. Ajánlott tiszta lappal próbálkozni, pl. két frissen telepített gépen, lépésről-lépésre végrehajtva a fenti linken leírtakat.

    Virtuális gépekkel még egyszerűbben lehet tesztelni, hiszen ott van snapshot is.
    Mutasd a teljes hozzászólást!
  • Hú az a baj, hogy sok mindent kérdezel, de nem mindent tudok, hogy hol kell ellenőrizni.
    A kliens gépről próbálok most bejelentkezni az SQL-szerverre a "Microsoft SQL Server Management Studio Express" program-ból.
    Az alábbiak szerint:
    File \ Connect Object Explorer:
    Connect to Server ablak:
    Server type: Database Engine (ez a mező szürke, nem módosítható)
    Server name: PETI\SQLEXPRESS
    Authentication: SQL Server Authentication
    Login: sa
    password: az sa jelszava
    A PETI\SQLEXPRESS magyarázata:
    A Hálózati helyek\Teljes hálózat\Microsoft Windows hálózat\Konyvel-ben ezt látom :
    (a Konyvel a munkacsoport neve)
    Fsgep
    Peti
    Ezért a bejelentkező ablakban azt írtam, hogy: PETI\SQLEXPRESS
    A PETI nevű gépen szerintem 2 SQL szerver példány van feltelepítve:
    PETI\KULCSSOFT -------> ezt egy program demója telepítette fel szerintem egyszer
    PETI\SQLEXPRESS ------> ezt én telepítettem fel

    Az sa user-rel be tudok lépni a szerver gépen helyileg.

    A bejelentkezés most ezt írja ki hibaüzenetnek: (miután sokat gondolkodik)
    "Cannot connect to PETI\SQLEXPRESS.
    Additional information:
    A network-related or instance specific error occured while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 0 - A kapcsolódási kísérlet nem sikerült, mert a kapcsolódó partner nem válaszolt a megadott időn belül, vagy a létrehozott kapcsolatban hiba történt, mert a kapcsolódó partner nem volt képes válaszolni. (Microsoft SQL Server, Error: 10060)"

    "Hálózati hiba ugye kizárva? Pl: fájl megosztásnak működnie kell" kérdésedre:
    Azt nem tudom, hogyan kell fájlmegosztást engedélyezni a szerveren, ebben tud valaki segíteni?

    "Névfeloldás rendben van?" :
    nem tudom, mi az a névfeloldás, illetve csak sejtem, ezért ezt el tudnátok mondani? És fogalmam sincs, hol tudom ezt a névfeloldást ellenőrizni, hogy ez rendben van-e????

    A router-ben nem kell még valamit állítani?? Ezt sem tudom sajnos!

    Az is baj, hogy van egy olyan érzésem, hogy itt valami felhasználó, illetve jogosultsági probléma van, de ezt meg végképp nem értem, egyszerűen azt csináltam, hogy az SQL-szerveren létrehoztam felhasználót, és vagy azzal, vagy az sa user-rel próbálkozok. De egyikkel sem megy.
    Mutasd a teljes hozzászólást!
  • Hi

    Esetleg még próbáld meg a szerver gépen Start menüben az Sql Server Configuration Manager -t elinditani.

    Az SQL Server Network Configuration / Protocols for SQLEXPRESS részbe ha belemész ellenőrizd, hogy a TCP/IP enabled -en van, a Named Pipest is bekapcsolhatod. Ha nincs állítsd át és inditsd újra az SQL Servert.

    Valamint célszerű a TCP/IP -n jobb klikkelve ugyanitt a Properties menüre menni és az IpAddresses fülön az IP4 -nél is enabledre állítani.

    Nem biztos hogy segít, de hátha.
    Mutasd a teljes hozzászólást!
  • Az esetleg lehet, hogy ez az sql server a default instance, ezért nem PETI\SQLEXPRESS néven kell hozzá csatlakozni, hanem PETI néven...
    Mutasd a teljes hozzászólást!
  • Az MS így látja e hibát..(MSSQLSERVER_10060)

    The SQL Server client cannot connect to the server. This error could occur because either the firewall on the server has refused the connection or the server is not configured to accept remote connections.

    Vagyis két lehetőséget vázol:
    1. A server gépen a tűzfal visszautasította a kapcsolatfelvételt,
    2. a server nincs konfigurálva a távoli elérésre.

    Ez utóbbi kizárt mivel állítod, hogy:
    Az SQL Server Surface Area Configuration-ban a "Surface Area Configuration for Services and Connections"-ben a Remote Connection részben engedélyezve van a remote connection (Using TCP/IP onyl).

    Tehát valami még nem gömbölyű..

    Persze ne add fel.
    A kliens gépről is benézhetsz a server-re, de picit egyszerűbben.
    Nézd a csatolt képet.
    Mikor elindítod a Management Studio-t, kapod a baloldali képet.
    Itt a középső soron válaszd azt amit a képen látsz (browse for more), ekkor jön a jobboldali ablak, s ott a Network servers fülre kattints.
    Ha ott megjelenik az sql server-ed, már félig nyert ügyed van.
    Mert ugye ki is kell választani, s majd megírod, hogy mi történt.

    Más.
    A két gép látja egymást, a routerben a DHCP Client List-ben benne van a két gép, IP címek látszanak.

    Ez ok, de a két gép egy munkacsoportban van?
    Mutasd a teljes hozzászólást!
    Csatolt állomány
  • A "szerver" gépen kerülném a dinamikus port meghatározását, Az IPAll portnál beállítanám a 1433-at. Service újraindít.

    A kliens gépen kerülném a GÉPNÉV\SQLEXPRESS hivatkozást, helyette simán IP címet használnék.

    pl :
    Data Source=192.168.0.124;User ID=Valaki;Password=jelszo;Initial Catalog=MyDbName;

    Mutasd a teljes hozzászólást!
abcd