{"id":153,"date":"2012-08-31T12:07:35","date_gmt":"2012-08-31T10:07:35","guid":{"rendered":"http:\/\/blog.systemconnect.dk\/?p=153"},"modified":"2015-04-25T14:16:33","modified_gmt":"2015-04-25T12:16:33","slug":"langsom-login-pa-c5-version-2012-sql","status":"publish","type":"post","link":"https:\/\/scblog.lynge.org\/?p=153","title":{"rendered":"Langsom login p\u00e5 C5 version 2012 p\u00e5 SQL"},"content":{"rendered":"<p>Ind imellem oplever man at C5 2012 p\u00e5 SQL\u00a0er meget lang tid om at logge ind &#8211; faktisk kan det se ud til at C5 blot h\u00e6nger i flere sekunder eller minutter (der er ingen aktivitet p\u00e5 aktivitetsikonet i h\u00f8jre nederste hj\u00f8rne).<\/p>\n<p>Problemet\u00a0kan skyldes den nye databasegenberegning, der blev indf\u00f8rt p\u00e5 C5 2012 p\u00e5 SQL (Nativedatabasen har ikke dette problem). Nu genberegnes databaseforbruget p\u00e5 SQL-serveren nemlig hver gang kernen har brug for at kende st\u00f8rrelsen &#8211; og denne beregning kan ikke k\u00f8res mens der er aktive TTS&#8217;er p\u00e5 databasen. Derfor venter SQL-serveren med k\u00f8rslen, indtil der ikke er det (og C5 kernen kan s\u00e5 ikke g\u00f8re andet, end bare at st\u00e5 og vente p\u00e5 resultatet).<\/p>\n<p>Under opstart\/login i C5 sker der en r\u00e6kke ting &#8211; og en af tingene er at C5 lige\u00a0kan\u00a0checke om man er ved at n\u00e6rme sig gr\u00e6nsen for databaseforbrug.\u00a0Man ops\u00e6tter det\u00a0under Generelt\/Tilpasning \/ Systemparametre og det er faktisk kun brugere i den opsatte brugergruppe, der er p\u00e5virket af dette problem. Sl\u00e5r man checket helt fra (0%) eller v\u00e6lger en brugergruppe, der er meget lidt brugt, kan man reducere eller fjerne problemet.<\/p>\n<p>Helt specifikt opst\u00e5r problemet i DBOpen-funktionen, i linjen:<\/p>\n<pre>SET &amp;DbSizeUsedPct = #Db_Dictionary(CALCSIZE)\/ #Db_Dictionary(MAXSIZE) * 100\r\n\r\n<\/pre>\n<p>Problemet opst\u00e5r i kaldet #Db_Dictionary(CALCSIZE), der umiddelbart overs\u00e6ttes til et SysInfo-kald, der f\u00e5r kernen til at sende en stor SQL-genberegningskommando til SQL-serveren. Og er der aktive TTS&#8217;er fra andre klienter, har SQL-serveren ikke andet valg, end at vente til de er f\u00e6rdige&#8230;<\/p>\n<p>Vi har v\u00e6ret i dialog med Microsoft, men der findes\u00a0ikke\u00a0en god\u00a0l\u00f8sning\u00a0p\u00e5 problemet, s\u00e5 anbefalingen herfra (og fra Microsoft) er netop at sl\u00e5 checket helt fra &#8211; eller i det mindste v\u00e6lge en brugergruppe, der ikke s\u00e5 ofte bliver ramt af at skulle logge ind n\u00e5r der er aktive TTS&#8217;er (ops\u00e6tningen kan som n\u00e6vnt findes under Generelt\/Tilpasning \/ Systemparametre). Og det er heldigvis heller ikke et stort problem at g\u00f8re det (blot skal man jo lige vide det).<\/p>\n<p>Hvis du vil efterpr\u00f8ve fejlen s\u00e5 er det letteste faktisk at rette i PerformanceTest.XAL &#8211; mere specifikt \u00f8ge antallet af poster (til fx. 100.000),\u00a0der inds\u00e6ttes i databasen for hvert genneml\u00f8b af insert-testen&#8230; Derved opn\u00e5r du at TTS&#8217;erne holdes i l\u00e6ngere tid &#8211; s\u00e5 lang tid, at du kan n\u00e5 at starte en ny C5 og opleve at den holder pause, mens PerformanceTest.XAL k\u00f8rer et genneml\u00f8b af insert eller delete&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ind imellem oplever man at C5 2012 p\u00e5 SQL\u00a0er meget lang tid om at logge ind &#8211; faktisk kan det se ud til at C5 blot h\u00e6nger i flere sekunder eller minutter (der er ingen aktivitet p\u00e5 aktivitetsikonet i h\u00f8jre &hellip; <a href=\"https:\/\/scblog.lynge.org\/?p=153\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,6,4],"tags":[30,43,11,29,23,53,14,28,20],"class_list":["post-153","post","type-post","status-publish","format-standard","hentry","category-klassisk-c5","category-klassisk-c5-support","category-klassisk-c5-teknik","tag-bug","tag-c5","tag-dynamics","tag-fejl","tag-hint","tag-klassisk-c5","tag-microsoft","tag-sql","tag-udokumenteret"],"_links":{"self":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=153"}],"version-history":[{"count":9,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions"}],"predecessor-version":[{"id":738,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=\/wp\/v2\/posts\/153\/revisions\/738"}],"wp:attachment":[{"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scblog.lynge.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}