Prettylib-tuoteratkaisut - Wiki
SQL Server TCP/IP-portin muuttaminen
Normaalisti asennettaessa esimerkiksi SQL Server 2008/2012 Express käyttäen instansseja (katso myös: SQL Server instanssi ), asentuu SQL Server instanssi niin, että se "kuuntelee" dynaamista TCP/IP-porttia. Tämä tarkoittaa sitä, että kuunneltava SQL Serverin portti voi vaihdella esimerkiksi konetta uudelleen käynnistettäessä.
Tällä ei normaalisti ole vaikutusta, mikäli on toimittu ohjeistuksemme mukaan, koska tällöin paikalliselle palomuurille annettavat säännöt sallivat SQL Serverin exe-tiedoston mukaisesti sisään tulevat yhteydet. Ongelmaksi nämä vaihtelevat portit voivat muodostua silloin, kun SQL Server sijoitetaan erillisen palomuurilaitteiston taakse. Tällöin pitäisi erikseen tietää portti, joka halutaan sallia.
Toimi seuraavasti:
Muuta tietokantaa käyttävän ohjelman (PrettyLib, PrettyBitServer, PrettyCirc) asetuksista tietokantapalvelimen nimi niin, että siinä EI mainita instanssin nimeä vaan siinä annetaan palvelimen nimi ja portin numero. Tämä annetaan muodossa "PALVELIMENNIMI,PORTTI". Esimerkiksi jos palvelimen nimi on "SQLSERVERI" ja sen tietylle instanssille määritetty kiinteä TCP/IP-portti on vaikkapa "1400", niin tietokantapalvelimen nimeksi tulisi "SQLSERVERI,1400"
Mikäli ylläolevaa muutosta EI tehdä voi käydä seuraavasti:
Tällä ei normaalisti ole vaikutusta, mikäli on toimittu ohjeistuksemme mukaan, koska tällöin paikalliselle palomuurille annettavat säännöt sallivat SQL Serverin exe-tiedoston mukaisesti sisään tulevat yhteydet. Ongelmaksi nämä vaihtelevat portit voivat muodostua silloin, kun SQL Server sijoitetaan erillisen palomuurilaitteiston taakse. Tällöin pitäisi erikseen tietää portti, joka halutaan sallia.
SQL Serverin instanssin muuttaminen käyttämään kiinteätä TCP/IP-porttia
Avaa SQL Server -palvelimena toimivalla koneella ohjelma "SQL Server Configuration manager". Yleensä tämä löytyy esimerkiksi seuraavasta paikasta:- Start-valikko: "SQL Server 20xx" -> "Configuration Tools" -> "SQL Server Configuration manager"
Toimi seuraavasti:
- Valitse Configuration Manager -ohjelman vasemmasta reunasta kohta "SQL Server Network Configuration" ja sen alta "Protocols for xxxxx" (jossa xxxxx = instanssin nimi).
- Valitse oikeasta reunasta kohdan "TCP/IP" päältä hiiren valikkopainikkeella valikko ja sieltä "Properties".
- Valitse välilehti "IP Addresses".
- Vieritä näkyvä taulukko alas asti. Näet kohdan "IPAll", jonka alla löytyy kaksi kohtaa:
- "TCP Dynamic Ports"
- "TCP Port".
- Näitä "TCP Port" on todennäköisesti joko tyhjä tai "0". Laita tähän haluamasi TCP/IP-portin numero. Älä käytä TCP/IP-porttia 1433, koska se liitetään yleensä ns. default instanssiin (ellei tämä tietysti ole default instanssi eli instanssin nimenä "mssqlserver").
- Mikäli jätät kohtaan "TCP Dynamic Ports" kohtaan jotain, on mahdolista, että SQL Server kuuntelee molempia TCP/IP-portteja eli sekä dynaamisesti valittavaa, että kiinteätä.
- Valitse "Ok".
- Käynnistä SQL Server -palvelut (sekä SQL Server itse, että SQL Server Browser) uudelleen.
- Testaa toiminta esimerkiksi PrettyLib-ohjelmalla.
- Muuta palomuureihin sallituksi liikenne SQL Server -palvelimeen valitsemassasi portissa.
Tietokanta-asetusten muuttaminen kiinteän TCP/IP portin käytössä
Mikäli otat käyttöön ylläolevan ohjeen mukaisesti kiinteän TCP/IP-portin, kannattaa toimia myös seuraavasti.Muuta tietokantaa käyttävän ohjelman (PrettyLib, PrettyBitServer, PrettyCirc) asetuksista tietokantapalvelimen nimi niin, että siinä EI mainita instanssin nimeä vaan siinä annetaan palvelimen nimi ja portin numero. Tämä annetaan muodossa "PALVELIMENNIMI,PORTTI". Esimerkiksi jos palvelimen nimi on "SQLSERVERI" ja sen tietylle instanssille määritetty kiinteä TCP/IP-portti on vaikkapa "1400", niin tietokantapalvelimen nimeksi tulisi "SQLSERVERI,1400"
Mikäli ylläolevaa muutosta EI tehdä voi käydä seuraavasti:
- Palomuurissa sallittu liikenne SQL Server Browserin UDP-portti (UDP/1434)
- Palomuurissa sallittu liikenne haluttuun kiinteään porttiin (esim TCP/1400)
- Palvelimen nimeksi ohjelman asetuksissa annettu "palvelin\instanssi"
- SQL Server alvelimelle on jätetty dynaaminen portti päälle tuon kiinteän portin lisäksi (=Kohdassa "Dynamic Ports" on jokin numero)
- Voi käydä niin, että SQL Server Browser palauttaakin dynaamisen portin numeron, jota yritetään sitten käyttää, mutta se ei menekään palomuurista läpi.