Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πολλαπλή δοκιμαστική εκτέλεση μιας SP

Îåêßíçóå áðü ôï ìÝëïò Chrysostomos Kolovos. Τελευταία δημοσίευση από το μέλος Chrysostomos Kolovos στις 16-12-2010, 21:56. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-12-2010, 15:04 61714

    Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    Έχω γράψει μια sp(stored procedure) που σε κάποιο σημείο τις έχω ένα TRANSACTION ISOLATION LEVEL SERIALIZABLE. Θα ήθελα να μάθω εαν μπορώ απ τον sql server να την εκτελέσω ταυτόχρονο 10 φορές ας πούμε για να δω αν είναι ok.  Θα μπορούσα να το κάνω με κώδικα αλλά λέω μήπως είναι πιο εύκολο κάπως αλλιώς. 


    Ευχαριστώ





  •  16-12-2010, 16:07 61717 σε απάντηση της 61714

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    το θέμα είναι τι θέλεις να δοκιμάσεις;

    αν απλα θέλεις να τι εκτελέσεις σειριακά 10 φορές αυτό είναι εύκολο

    Γυρίζεις σε SQLCMD mode το query που έχεις ανοικτό και

    exec sp

    GO 10

    Αν όμως θέλεις να κάνεις κάτι άλλο ενημερωσε μας ώστε να μην κάνουμε εικασίες

     


    Antonios Chatzipavlis

  •  16-12-2010, 16:17 61718 σε απάντηση της 61714

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    SSMS --> Query --> SQLCMDmode
    Type in

    :!! start SQLCMD -S"." -E -b -d master -Q"waitfor delay '00:00:05';" | start SQLCMD -S"." -E -b -d master -Q"waitfor delay '00:00:05';" | start SQLCMD -S"." -E -b -d master -Q"waitfor delay '00:00:05';"

    Execute

    --HTH--

  •  16-12-2010, 16:47 61725 σε απάντηση της 61718

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    Δεν έχω να προσθέσω κάτι απλά λίγο να εξηγήσω το τι έχει γράψει ο spaceman θέλω ώστε να είναι κατανοητό σε όλους

    Αφού είσαι σε SQLCMD mode με το¨

    :!! μπορείς να εκτελέσεις εντολές λειτουργικού ή προγραμματά όπως όταν είσαι σε command line

    start SQLCMD ξεκινάς το commad line tool του sql server από την έκδοση 2005 και πάνω οι παράμετροι που ακολουθούν είναι case sensitive

    -S"." συνδέεσε στο τοπικό server

    -E σύνδεση στο sql server με windows authentication

    -b On error batch abort

    -d master ορισμός σαν use database την master

    -Q "..." εκτέλεση το query που έχεις βάλει μέσα στις " " και μετά έξοδος στο command prompt π.χ c:\>

    | δεν είναι του sqlcmd αλλά το γνωστό pipe που είχαμε στο ms dos

    Φιλικά

     


    Antonios Chatzipavlis

  •  16-12-2010, 17:32 61727 σε απάντηση της 61714

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    To θέμα είναι να καταφέρω να εκτελέσω την sp ταυτόχρονα(χ φορές) άρα όχι σειριακά. Εκτός αν όταν εκτελέσεις μια sp δεν περιμένει να ολοκληρωθεί η εκτέλεση και προχωράει στην επόμενη.

    Έγραψα μια mini εφαρμογή για να ανοίγει threads και να τα εκτελεί όλα μαζί ταυτόχρονα παίρνοντας παραμέτρους από ένα xml αρχείο.
    Νομίζω ότι θα είναι ok. Το testing θα δείξει. 

    Ευχαριστώ για την ανταπόκριση.


     






  •  16-12-2010, 21:26 61733 σε απάντηση της 61727

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    Η sqlcmd εντολη
    :!! start ...... ανοιγει x αριθμο shells (x=οσα και τα start) ταυτοχρονα/παραλληλα  (στο παραδειγμα πιο πανω, 3 διαφορετικα connections περιμενουν για 5 secs (waitfor delay))
    Αν αντικαταστησεις το Q"waitfor delay '00:00:05'" με Q"EXEC myschema.mystoredprocedure @var1 = 'myvar'"
    και το -d master me -d mydatabase (εναλλακτικα αφηνεις -d master και χρησιμοποιεις Q"Exec mydatabase.myschema.mystoredprocedure @var1 = 'myvar'" )
    τοτε 3 connections θα εκτελουν την procedure παραλληλα.

    sqlcmd parameters:
    C:\>sqlcmd /?

    Ενα ενδιαφερον αρθρο για παραλληλη εκτελεση μεσα απο τον SQL Server με χρηση CLR : http://sqlserverpedia.com/wiki/Execute_T-SQL_in_Parallel

    και μια διευκρινιση

    Γυρίζεις σε SQLCMD mode το query που έχεις ανοικτό ...

    GO x (x:number) μπορεις να χρησιμοποιησεις και στο normal query (sqlcmd mode is not necessary)
    To GO δεν ειναι tsql, it is just an interface command (supported by ssms, sqlcmd etc)

    --ΗΤΗ--

     

  •  16-12-2010, 21:56 61734 σε απάντηση της 61733

    Απ: Πολλαπλή δοκιμαστική εκτέλεση μιας SP

    Ευχαριστώ πολύ.!




Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems