Prettylib-tuoteratkaisut - Wiki

Yleisimmät ongelmat tietokantayhteydessä

Tietokannan siirtämisen tai perustamisen jälkeen voi käydä niin, että PrettyLib-ohjelma ei saa yhteyttä tietokantaan. Ohessa yleisimmät ongelmat ja ratkaisumalleja niihin. Osa tässä kuvatuista virheistä voi esiintyä myös myöhemmin. Ensimmäisenä tässä artikkelissa yleisin ongelma.

Ohjelma toimi normaalisti vielä eilen/viime viikolla, mutta nyt...

Yleisin virhe tällaisessa tilanteessa on seuraava virhe, jota käsitellään myös asennuksen yhteydessä tapahtuvana kappaleessa "Virhe 17: SQL Server does not exist ...". Jos ongelmasi koskee välittömästi asennuksen jälkeen tullutta tilannetta katso kappale artikkelin loppupuolelta.

"Error 17: SQL Server does not exist or access denied" / "Virhe 17: SQL Server -palvelinta ei ole.".

Yksinkertaistettuna virhe tarkoittaa sitä, että ohjelma ei saa tietokantapalvelimeen yhteyttä. Tämä ei ole esimerkiksi sisäänkirjautumisongelma, koska tässä tilanteessa ei ole mitään mihin kirjautua sisään.

Mikäli ohjelma on toiminut normaalisti, mutta tämä virhe ilmaantuu ohjelmaa seuraavan kerran käynnistettäessä, ole hyvä ja tutki seuraavat vaihtoehdot:

  • Ongelma voi johtua tilapäisestä verkko-ongelmasta, odota pari minuuttia ja kokeile uudelleen. Jos esimerkiksi mikään muukaan verkkoyhteyttä vaativa ei toimi, on todennäköistä, että verkossa tai useammassa eri palvelimessa on jokin ongelma.
  • Mikäli mahdollista yritä selvittää, onko SQL Server päällä / toiminnassa. Tämä todennäköisesti vaatii vähintäänkin IT-tuen apua.

Valitettavasti tähän ongelmaan ei ole mitään yksinkertaista ratkaisua. Ohjelma ei vain yksinkertaisesti voi tehdä mitään, mikäli tietokantayhteyttä ei ole.

Virhe 4060: Login failed

Esiintyy tyypillisesti asennuksen jälkeen, harvemmin normaalitoiminnan yhteydessä.

Virheilmoituksessa ilmenee virhenumero 4060 ja tekstin osana "Login failed". Tällöin tietokantapalvelimeen on saatu yhteys. Yleisin ongelma tämän virheen tapauksessa on se, että tietokannan nimi on väärin. Virheilmoituksessa näkyy kohta "Database: ", jossa sen tietokannan nimi, jota ohjelma yrittää asetustensa mukaisesti avata.

Tarkista, löytyykö saman nimistä tietokantaa tietokantapalvelimelta. Helpointa tämä on toimimalla seuraavasti:

  • Avaa SQL Server Management Studio
  • Kirjaudu sisään
  • Avaa vasemmassa laidassa olevasta kohdasta kohta "Databases".
  • Tarkista löytyykö sieltä saman niminen tietokanta kuin virheilmoituksessa
  • Mikäli tietokanta on eri niminen, muuta PrettyLibin asetuksia muokkaamalla PrettyLibin ohjelmakansiosta tiedostoa "STARTUP.INI" ja sieltä riviä "Database="

Mikäli olet tarkistanut ylläolevan ja todennut, että tietokanta on saman niminen, niin olethan muistanut suorittaa asiakaspalvelustamme saatavan SQL Scripti-tiedoston, joka tarvitsee suorittaa kertaalleen tietokannan palauttamisen jälkeen?

Virhe 18456: Login failed

Esiintyy tyypillisesti asennuksen jälkeen, harvemmin normaalitoiminnan yhteydessä.

Virheilmoituksessa ilmenee virhenumero 18456 ja tekstin osana "Login failed". Tällöin tietokantapalvelimeen on saatu yhteys. Yleensä myös asetuksissa annettu tietokanta on oikein.

Ongelmia aiheuttavat yleensä seuraavat kaksi vaihtoehtoa:

Palautettu tietokanta ilman käyttäjätunnuksia

Yleisin ongelma on se, että tietokantaa siirrettäessä palvelimelta toiselle ei palautuksen jälkeen ole suoritettu asiakaspalvelustamme pyydettäessä saatavaa SQL Scripti-tiedostoa. Olethan suorittanut scripti-tiedoston tietokannan siirto-ohjeen mukaisesti?

Katso myös erillinen artikkeli SQL Server -osion alta: Understanding 'login failed' (Error 18456) error messages in SQL Server

Luotu tietokanta eri tavalla kuin ohjelman asennuksessa määritetty

Login failed- virhe tulee myös silloin jos olet toiminut seuraavasti:

  • Luonut tietokannan "Create"-ohjelmalla valitsemalla valinnan "Create database for PrettyLib (iwa)"
  • Asentanut työasemaohjelman ILMAN valintaa "Use Windows authentication".

Jos toimit näin, toimitko vahingossa? Jos toimit vahingossa näin, luo tyhjä tietokanta uudelleen valinnalla, jossa EI lue "(iwa)".

Jos toimit näin tarkoituksella, tiedätkö mitä olet tekemässä? Ota yhteyttä asiakaspalveluun.

Virhe 14: ConnectionOpen (Invalid Instance())...

Esiintyy tyypillisesti asennuksen jälkeen, harvemmin normaalitoiminnan yhteydessä.

Virheilmoituksessa ilmenee kohta "Invalid instance". Yleisimmin virheilmoitus ilmenee nykyisten PrettyLib-ohjelman versioiden kanssa suomenkielisessä käyttöjärjestelmässä näin:

SRC: Initdatabase (5);14 : [DBNETLIB][ConnectionOpen (Invalid Instance()).]Virheellinen yhteys.

Kts. artikkeli SQL Serverin instansseista.

Virhe johtuu siitä, että palvelimen "nimeksi" on annettu ehkä pelkkä palvelimen nimi, kun olisi pitänyt antaa palvelimen nimi + "\" + SQL Server instanssin nimi. Vaihtoehtoisesti on voitu antaa väärä instanssin nimi.

Virhe sinällään antaa jo tietoa, että palvelimella toimii SQL Server, koska kyseinen virhe on SQL Serverin (SQL Server Browser palvelun) virheilmoitus.

Tarkista PrettyLibin ja/tai PrettyCircin asetustiedostosta kohta "Server=" tai PrettyBitServerin asetusohjelmasta, että on annettu oikea arvo.

Virhe 17: SQL Server does not exist or access denied / SQL Server -palvelinta ei ole..

Virheilmoituksessa ilmenee virhe 17 ja tekstin "SQL Server does not exist or access denied" tai suomeksi "SQL Server -palvelinta ei ole, tai sen käyttö on estetty".

Tämä virhe voi johtua useasta eri seikasta. Mikäli ongelma ilmenee yllättäen normaalisti toimivan PrettyLib-ohjelman kanssa, on mahdollisesti muutettu jotain palvelimen puolella, tai SQL Serverin palvelut eivät pyöri oikein.

Palvelimen ja intanssin nimi

Tarkista, että olet antanut asetustiedostossa tietokantapalvelimen JA INSTANSSIN nimen oikein.

  • Katso virheilmoituksesta riviä "Server:". Riviltä löytyy joko pelkkä tietokantapalvelimen nimi tai tietokantapalvelimen ja instanssin nimi. Instanssin nimi esiintyy tässä tiedossä merkin "\" jälkeen. Esimerkiksi "PALVELIN01\PRETTYBIT", jossa tietokantapalvelimen nimi on "PALVELIN01" ja instanssin nimi "PRETTYBIT".
  • Vertaa virheilmoituksessa rivillä "Server:" näkyvää tietoa tietokantapalvelimen oikeaan nimeen.
  • Vertaa virheilmoituksessa rivillä "Server:" rivillä näkyvää tietoa palvelimelle asennettun SQL Server-instanssin varsinaiseen nimeen. Instanssin nimen saat helposti selvitettyä toimimalla seuraavasti:
    • Avaa SQL Server Configuration Manager (Windows 7-käyttöjärjestelmässä löydät Start-valikosta SQL Server 20xx -> Configuration Tools -> SQL Server Configuration Manager"
    • Valitse vasemmasta reunasta kohta "SQL Server Services".
    • Oikeassa reunassa näkyy kohta "SQL Server (XXXX)", jossa XXXX on instanssin nimi. Esimerkiksi "SQL Server (PRETTYBIT)"
    • Mikäli suluissa lukee "MSSQLSERVER", toimii SQL Server ns. default instanssissa, jolloin instanssin nimeä ei anneta ollenkaan (Startup.ini -tiedostossa "Server=" rivillä pitäisi tällöin olla pelkkä palvelimen nimi)
    • Mikäli XXXX on jotain muuta kuin MSSQLSERVER varmista tämän tiedon samanlaisuus virheilmoituksessa ja/tai STARTUP.INI-tiedostossa näkyvään "Server:" kohtaan, niin että palvelimen nimen jälkeen tulevan "\" -merkin jälkeen tulee sama nimi kuin tässä.

Asennuksen jälkeen suoritettavat toimenpiteet

Mikäli palvelimen ja instanssin nimi on oikein tarkista seuraavat. Nämä ovat oleellisia, mikäli SQL Server sijaitsee eri koneella kuin PrettyLib-ohjelma itse.

  • Olethan suorittanut SQL Server asennusohjeessa olevan kohdan "4 asennuksen jälkeen" mukaisen verkkoprotokollan muutoksen (TCP/IP-laitettu päälle). Olethan myös muutoksen jälkeen joko käynnistänyt koneen uudelelen tai käsin kaikki SQL Server palvelut?
  • Olethan suorittanut SQL Server asennusohjeessa olevan kohdan "4.1 Windows 7/8/2008/2012 palomuuri". Tämän testaaminen on helpointa niin, että asennat PrettyLib-ohjelman samalle koneelle SQL Server-palvelimen kanssa ja kokeilet toimintaa siltä. Mikäli paikalliselta koneelta toimii, vika todennäköisesti palomuuriasetuksissa.

SQL Server Browser-palvelu

Tarkista, että SQL Serverin ns. "Browser"-palvelu on päällä. Tämä onnistuu helpoiten seuraavasti:

  • Avaa SQL Server Configuration Manager (Windows 7-käyttöjärjestelmässä löydät Start-valikosta SQL Server 20xx -> Configuration Tools -> SQL Server Configuration Manager"
  • Valitse vasemmasta reunasta kohta "SQL Server Services".
  • Oikeassa reunassa näkyy kohta "SQL Server Browser". Lukeehan sen vieressä sarakkeessa "State" teksti "Running"?
  • Mikäli ei ole "Running" -tilassa, käynnistä se valitsemalla listasta tuo "SQL Server Browser" ja hiiren valikkopainikkeella avautuvasta valikosta valitsemalla kohdan "Start".

Yleisiä sekaannuksen aiheita

Huomaathan, että tietokannan nimi ei ole sama asia kuin instanssin nimi. Katso artikkeli SQL Server instanssi.

Lisätietoja

Voit hankalissa tapauksissa katsoa myös SQL Serverin ERRORLOG -tiedostosta mahdollisia syitä epäonnistumiselle.

Lisätietoja SQL Serverin errorlog-tiedostosta ja sen löytämisestä artikkelissa: SQL Serverin ERRORLOG tiedosto