Gå til innhold

NOSprocket

Medlemmer
  • Innlegg

    14
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av NOSprocket

  1. Vi er i gang med å sette opp en ny database på SQL 2005 64bit. Har en MD-boks fra Dell med 12 disker og mulighet til utvidelse til 24. Har valgt å legge opp dette med Raid 10 men vil gjerne høre om det er noen som ville valgt raid 5. Databasen bør takle writes da dette har vært en utfordring på dagens db hvor diskene har jobbet overtid i peak-perioder.

     

    Spørsmål to er plassering av de ulike databasefilene. Noen som kan komme med noen anbefalinger?

  2. Hvis du er i samme stand som sist jeg så deg, så kommer du ikke til å treffe en gang :D Selv om jeg står helt stille 20 cm unna. Haha

     

    hehe.. høres ut som dere har noe uoppgjort gitt.

     

    Sitter uansett og tester ut dette som en webside, men koden skal senere dyttes inn som en windowsservice. Antar dette løser seg uansett når du kan definerer bruker som service skal jobbe under?

     

    Vi er bitre fiender :p Hehe, neida :)

     

    Bør gå fint det ja, bare huske på å sette "run as a service" rettigheter på brukeren den skal kjøre som.

     

    Har ikke hatt så mye tid til å se på dette opplegget igjen før nå. Men jeg sliter fortsatt med å få kopiert filene til de to andre boksene.

     

    Bruker jeg UNC path så får jeg følgende feil.

    Access to the path '\\web03\map' is denied.

    Access to the path '\\web03\map' is denied.

     

    - kopiering

    Access to the path '\\web03\map\1_100000.zip' is denied.

     

    Bruker jeg X:\ som er mappa på boksen, så får jeg følgende feil.

    Could not find a part of the path 'X:\map'.

    Could not find a part of the path 'Y:\map'.

     

    - kopiering

    Could not find a part of the path 'X:\map\1_00000.zip'.

     

    Noen forslag?

  3. Vi poster jevnlig diverse verdier til en ekstern webadresse, men til stadighet finner jeg følgende feilmeldinger i loggene.

     

    The underlying connection was closed: A connection that was expected to be kept alive was closed by the server

     

    Er data forsøkt postet levert til server, eller må vi anse leveringen som feilet?

     

    Følgende kode blir benyttet for å poste verdier. Kom gjerne med instpill om det er andre metoder som er bedre egnet.

     

            
    public string webRequestPost(string serverUrl, NameValueCollection nvc)
    {
       string serverResult = "";
    
       try
       {
           using (WebClient wc = new WebClient())
           {
               // Upload the NameValueCollection. 
               byte[] responseArray = wc.UploadValues(serverUrl, "POST", nvc);
    
               // Decode the response.
               serverResult = System.Text.Encoding.ASCII.GetString(responseArray);
           }
       }
       catch (Exception ex)
       {
           serverResult = ex.Message;
       }
    
       return serverResult;
    }

  4. Her er det ikke bare snakk om hva som er raskest og ikke. For det første, jeg ville klart gått for løsning 1 av disse to, men spørsmålet er jo også om du virkelig har behov for å ha dataene i begge tabellene, eller om du like gjerne kunne referert dem på annet sett. Hvis du har kode som henter dataene direkte så kunne du laget et view (i enterprise edtion sågar et indeksert) som henter data fra den andre databasen. Jeg er sterk motstander av dobbeltlagring av data :) Raskere kopiering får du ikke :D

     

    Hvis det så viser seg at du MÅ kopiere dataene, så se for all del på begin transaction ... commit/rollback. Kjør oppdateringen i en transasksjon, og sørg for at enten alle tre statements går bra, eller at ingen av dem blir utført. Uforutsette hendelser kan komme, og da er det best å være froberedt :)

     

    Støtter fult ut tanken mot dobbeltlagring, men i dette tilfellet er det gjort for å avlaste den ene tabellen slik at håndteringen av data skjer flere steder og deretter fjernes.

     

    Skal se litt mer på dette med begin transaction osv. Har "sett dette" et og annet sted, men aldri benyttet dette selv. Om du har en eksempelkode så legg gjerne ved dette. (finner det sikkert selv et sted også, men kan være andre enn meg som har godt av ekstra info ;)

  5. Vi har en prosedyre som skal kopiere nye rader fra en tabell til en annen tabell i en annen database. Begge databasene kjøres på samme server med SQL 2000, og Windows 2003. Det er to servere i cluster, noe som er årsaken til at triggere ikke blir benyttet, og at det i perioder kommer mellom 15-20 nye rader pr sekund på det mest hektiske.

     

     

    Mitt spørsmål: Holder det å kjøre en spørring som dette?

    INSERT INTO DBA.dbo.tablename (value1,value2) SELECT value1 value2 FROM DB2.dbo.tablename WHERE status=1
    UPDATE DB2.dbo.tablename SET status=2 WHERE status=1

     

    Eller bør vi fortsette å gjøre slik som vi gjør i dag:

    UPDATE DB2.dbo.tablename SET status=2
    INSERT INTO DBA.dbo.tablename (value1,value2) SELECT value1 value2 FROM DB2.dbo.tablename WHERE status=2
    UPDATE DB2.dbo.tablename SET status=3 WHERE status=2

     

    Vil vi kunne risikere på første eksempel at rader som ikke blir med på første INSERT kan få status 2?

     

    Finnes det andre alternativer som er raskere?

  6. Bruk UNC path isteden..

     

    \\ServerNavn\Share\Katalognavn

     

     

    Og pass på at brukeren som prosessen kjører som har tilgang.

     

    Trodde det hele fungerte fint når jeg testet, men ettersom jeg var smart nok til å bruke \\servernavn\\mappe istedenfor \\\\servernavn\\mappe i koden så ble det en mappe på lokal disk.

     

    Uansett - har endret dette, men får beskjed at jeg ikke har tilgang. Er det noen måte man kan definere brukernavn/passord for å kopiere filer på denne måten?

  7. Du har sikkert sjekket dette opp og ned, men jeg tror nok det er X: som det er noe galt med.

    9633077[/snapback]

     

    Vel, jeg får jo helt fint kopiert og gjort hva jeg vil på X: disken når jeg er innlogget lokalt, men nå er jeg også innlogget som admin hvilket gir meg nødvendige rettigheter. Min tanke er om det er en spesiell bruker, eller fremgangsmåte å få tilgang på mappede disker på :ermm:

  8. Forsøker å sjekke om en mappe eksisterer på en mappet drive. Får feilmeldingen: Could not find a part of the path 'X:\mms_2007'.

     

     

    WEB03_MMSdirectory = "X:\\mms_" + dt.Year.ToString();
    
    // Oppretter mappe om den ikke eksisterer på hovedboks.
    if (!Directory.Exists(WEB03_MMSdirectory))
        Directory.CreateDirectory(WEB03_MMSdirectory);
    
    

     

    Har gitt brukeren Network service og Internet Guest Account nødvendige rettigheter på denne mappen. Jeg tester koden fra web, men skal senere inn i en windows service.

     

    Noen forslag?

    :hmm:

×
×
  • Opprett ny...