Yhteyden testaus ja turvallisuus
Mitä painike Testaa yhteys tekee, miten yleisimmät virheet luetaan, ja miten alusta säilyttää tunnistetiedot, jotka eivät koskaan palaa näytölle.
Tietolähde säilyttää avainta oikeaan tietokantaan — usein tuotannon. Tämä sivu kattaa sen vastuun molemmat puolet: miten varmistetaan, että yhteys toimii ennen tallennusta, ja mitä alusta tekee (ja kieltäytyy tekemästä) tunnistetiedoille sen jälkeen.
Yhteyden testaaminen
Painike Testaa yhteys on luontilomakkeessa ja modaalissa Muokkaa yhteyttä, tallennustoimintojen vieressä:
- Täytä yhteyskentät.
- Paina Testaa yhteys. Painike vaihtuu tilaan Testataan….
- Alusta avaa todellisen yhteyden tietokantaan, suorittaa vaarattoman tarkistuskyselyn ja sulkee yhteyden. Mitään ei kirjoiteta eikä muuteta.
- Onnistuminen näyttää vahvistuksen ”Yhteys OK.”; epäonnistuminen näyttää hälytyksen tietokantamoottorin palauttamalla viestillä — sellaisenaan, koska juuri se kertoo, mitä korjata.

Kaksi erikoistapausta:
- Muokattaessa salasana tyhjänä testi käyttää tallennettua salasanaa — eli se testaa yhteyden sellaisena kuin se jää tallennuksen jälkeen.
- Vielä luomattomassa SQLitessä painiketta ei ole — tiedostoa ei vielä ole, ja testi siinä voisi vain valehdella. Se ilmestyy tallennuksen jälkeen.
Dica
Testaa aina ennen tallennusta. Väärän yhteyden tallentaminen ei riko mitään sillä hetkellä — mutta ensimmäinen sitä käyttävä API tai skripti epäonnistuu, ja silloin virhe ilmestyy kauas syystään.
Testi epäonnistui — entä nyt?
Viesti tulee moottorilta, joten se vaihtelee; kaavat eivät:
| Oire | Mitä tarkistaa |
|---|---|
| Kestää ja päättyy aikakatkaisuun | Host ja Portti oikein? Hyväksyykö palvelin yhteyksiä koneelta, jolla alusta pyörii (palomuuri, verkko)? |
| Tunnistautumisvirhe / login failed | Käyttäjä ja Salasana. Joissakin moottoreissa myös se, saako tuo tili yhdistää toiselta koneelta. |
| Tuntematon tietokanta | Kentässä Database on tietokannan tarkka nimi palvelimen sisällä. |
| SSL/TLS-virheitä SQL Server 2008/2012:ssa | Kytke päälle Vanha TLS (vanha SQL Server) — se on juuri tätä varten. |
| Varmennevirheitä muissa moottoreissa | Käytä SSL:ää / Encrypt sen mukaan mitä palvelin vaatii; sisäisillä palvelimilla, joilla on oma varmenne, Trust server certificate. |
| Oracle ei löydä palvelua | Noudattaako Connect string muotoa host:port/service_name? Onko service_name palvelun nimi, ei SID? |
Tunnistetiedot, jotka eivät koskaan palaa näytölle
Tietolähteen salasana on kertakirjoitteinen: se menee lomakkeeseen, ja siitä lähtien alusta ei näytä sitä enää — kenellekään, koskaan, ei edes sen kirjoittajalle.
- Kun avaat modaalin Muokkaa yhteyttä, kaikki kentät tulevat täytettyinä paitsi salasana. Kentän nimi on Salasana (tyhjä = säilytä): tyhjänä nykyinen jatkaa; täytettynä se korvataan.
- Ei ole mitään näyttöä, vientiä tai käyttöoikeutta, joka palauttaisi salasanan selväkielisenä. Jos hukkaat sen, määritä se uudelleen tietokantapalvelimella ja kirjoita uusi tänne.
- Levossa tunnistetiedot ovat salattuina — kuten lomakkeet itse sanovat: ”Kaikki on salattu levossa.”

Nota
Tämä pätee siihen, mitä alusta hallitsee. Salasana on yhä olemassa päässäsi, salasanojen hallinnassasi ja tietokantapalvelimella — alusta takaa vain, ettei se ilmesty uudelleen näytölle tätä kautta.
Entä kun sovellus matkustaa?
Kun viet sovelluksen (Asetukset → Vie sovellus), valitset salaisuuksien kohtalon:
- Ilman salaisuuksia (suositus) — ”Tietolähteiden yhteydet ja salaisuudet lähtevät tyhjinä”. Toisessa instanssissa tuoja täyttää tunnistetiedot uudelleen — salasanat eivät matkusta.
- Salaisuuksien kanssa, salalauseella suojattuna — arvot lähtevät salattuina salalauseella, jonka määrität ja jota kysytään tuotaessa. ”Ilman salalausetta paketin salaisuuksia ei voi palauttaa.”
Kuka saa tehdä mitäkin
| Toiminto | Vaadittu profiili sovelluksessa |
|---|---|
| Tietolähdelistan katselu ja sovelluksen käyttö | Developer |
| Tietolähteiden luonti, muokkaus, uudelleennimeäminen, poisto | Ylläpitäjä |
| SQL-konsoli, objektien luonti/muutos (DDL) | Ylläpitäjä |
Tämän vuoksi developer ei ehkä näe painiketta Lisää tietolähde eikä valikkoa Muokkaa yhteyttä — se ei ole virhe, se on profiili.
Kaikki kirjataan
- Sovelluksen historia — jokainen tietolähteen luonti, muutos, uudelleennimeäminen ja poisto menee muutoshistoriaan (”Tietolähde "crm" luotu”, ”Tietolähde "crm" muutettu”, …), tekijöineen ja päivineen.
- Alustan auditointi — samat operaatiot jäävät Radarin auditointijälkeen, kohteena Tietolähde.
- SQL-konsoli — kun suoritat SQL:ää, joka kirjoittaa tai muuttaa (UPDATE, DROP…), tapahtuma auditoidaan operaatiotyypin ja kyselyn sormenjäljen kanssa — ilman SQL-tekstiä, jotta konsoliin kirjoitettu arkaluonteinen data ei päädy rekisteriin.
- Radar → Tila — osio Tietokantayhteydet näyttää kaikkien sovellusten määritetyt yhteydet. Ja harkitulla varovaisuudella: ”Tämä sivu ei koskaan yhdistä niihin itsestään: nämä ovat tuotantotietokantoja, ja yhteyksien avaaminen jokaisella käynnillä on liikennettä, jota kukaan ei pyytänyt.”

Hyvät käytännöt
- Oma tili, vähimmäisoikeudet. Luo tietokantaan käyttäjä vain sovellusta varten, pääsyllä vain tarvittaviin tauluihin. Kaikki, mitä sovellus suorittaa — API:t, skriptit, konsoli — kulkee sen tilin kautta.
- Osoita testit testidataan. Kirjoittavaa API:a testattaessa alusta itse varoittaa: ”Testi ajaa pipelinen oikeasti tietolähteitä vasten — mutation tekee todellisia kirjoituksia. Varmista, että osoitat testidataan.”
- Salaa yhteys aina kun palvelin sen sallii (Käytä SSL:ää / Encrypt) — erityisesti kun tietokanta on toisessa verkossa.
- Nimet, jotka kertovat ympäristön.
crmjacrm-testeestävät pahimman mahdollisen erehdyksen: kirjoittamisen oikeaan paikkaan väärässä ympäristössä.
Usein kysyttyä
- Näyttääkö Keplin tallentamani salasanan? Ei. Se on kertakirjoitteinen — vaihtoehto on korvata se.
- Koskeeko Testaa yhteys dataan? Ei. Se avaa yhteyden, ajaa vaarattoman tarkistuskyselyn ja sulkee.
- Miksi testi menee läpi mutta API:n kysely epäonnistuu? Testi validoi yhteyden, ei oikeuksia kuhunkin tauluun. Jos tili ei voi lukea tai kirjoittaa taulua, virhe ilmestyy siinä kyselyssä.
- Vaihdoin salasanan tietokantapalvelimella — entä nyt? API:t ja skriptit alkavat epäonnistua tunnistautumisvirheellä. Avaa Muokkaa yhteyttä, kirjoita uusi salasana ja Tallenna.