Jump to content

antonch

Administrators
  • Posts

    1030
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by antonch

  1. Τα προηγούμενα δεν έχουν ακόμα ανεβεί πουθενά αλλά σύντομα θα γίνει αυτό. Δυστυχώς το πρώτο δεν έγινε recording λόγο του ενθουσιασμού μου να ξεκινήσω και μιλάω και το δεύτερο έγινε μεν αλλά η ποιότητα του είναι απαράδεκτη για τα γούστα μου. Έτσι και τα δύο ξαναγράφονται και όταν θα είναι έτοιμα θα ανεβούν. Για αυτό το μάθημα έχω ήδη πάρει τα μέτρα μου ώστε να είναι όλα εντάξει στο θέμα του recording. Το σίγουρο είναι ότι δεν θα τα χάσετε.
  2. @gsavvas: Έχεις δίκιο σε ευχαριστώ
  3. Ολοκληρώθηκε το meeting και το recording αυτού μπορείτε να το βρείτε στα παρακάτω σήμεια https://www311.livemeeting.com/cc/mvp/view?id=DSZT9W http://www.techdays.gr -------------------------------------------------------------------------------------------------------- Συνεχίζουμε στο ρυθμό μας, ελπίζοντας αυτή η προσπάθεια να σας αρέσει, με το 3ο Saturday SQL Night και θεματολογία Backup & Restore (έπειτα με απαίτηση αρκετών από εσάς ). Παρακάτω σας δίνω τα στοιχεία του meeting και ελπίζω να δω τους περισσότερους από εσάς. Ημερομηνία & Ώρα : 06/11/2010 22:30 μμ Attendee URL: https://www.livemeeting.com/cc/mvp/join?id=DSZT9W&role=attend&pw=p7%28pCxwWq Meeting ID: DSZT9W Attendee Entry Code: p7(pCxwWq Duration: 2 hours Μέχρι τότε να είσαι όλοι καλά και να προσέχετε τον εαυτό σας.
  4. Αν και το θέμα το έχουμε ξανασυζητήσει και αναλύσει στο παρελθόν εντούτοις πάντα είναι επίκαιρο και πάντα έχει παραλλαγές. Σήμερα ήρθα αντιμέτωπος με μία τέτοια παραλλαγή. Φίλος και συνεργάτης την ώρα που ήμουν στο δρόμο για το γραφείο ( 7:00 πμ ) με παίρνει στον τηλέφωνο και μου λέει. «Έχω μια βάση που τα 250ΜΒ είναι το data file και τα 93GB το log. Είναι από το ERP ενός πελάτη μου το οποίο θέλω να πάρω backup και να το δώσω στην εταιρεία ώστε να κάνουν κάποιους ελέγχους σε ένα θέμα που έχει προκύψει με αυτό και δεν μπορώ να το στείλω γιατί βγαίνει ένα μεγάλο μέγεθος στο backup. Έχω δει το άρθρο σου για τον Θαυμαστό κόσμο του Transaction Log και θέλω να μειώσω το log file ώστε να μην είναι τόσο μεγάλο μιας και στην πραγματικότητα δεν το έχω ανάγκη.» Του απαντώ ΟΚ θα σε βοηθήσω, θα σε πάρω τηλέφωνο μόλις πάω στο γραφείο. «Όχι τώρα θέλω» Και έτσι αρχίζουμε τηλεφωνική διαδικασία μείωσης μεγέθους του log. Τον ρωτάω εάν έχει πρόσφατο full backup και t-log backup. Η απάντηση του ήταν ότι είχε μόνο full, οπότε ξεκινήσαμε να παίρνουμε t-log backup ώστε να γίνει truncate το log. Με τη ολοκλήρωση του backup (t-log) τον οδήγησα να πάει μέσω του SSMS να κάνει Shrink File στο transaction log (right click on database Tasks Shrink…), και στην συνέχεια να επιλέξει την 1η επιλογή (αυτή που λέει ότι θα δει το υπάρχον μέγεθος και τα πραγματικά δεδομένα και θα βρει το optimal). Πραγματικά μετά από την εκτέλεση υπήρχε μια μείωση του μεγέθους του log αρχείου αλλά η διαφορά ήταν αρκετά μικρή από τα 93 GB πέσαμε στα 90GB. Αυτό με έβαλε σε σκέψεις και του είπα να μου πει τον τρόπο με τον οποίο μεγαλώνει το transaction log όταν γεμίζει. Η απάντηση ήταν αυτή που υποψιαζόμουν γίνονταν expand κατά 10%. Αυτό όπως έχω πει επανειλημμένος δημιουργεί virtual logs τα οποία επειδή δεν είναι ισόποσα δεν μπορούν να συγχρονιστούν και έτσι φυσικά μεγαλώνει και το log. Για να επιβεβαιώσω ότι δεν χρησιμοποιούνται όλα αυτά τα GBs του λέω να εκτελέσει την εντολή DBCC SQLPERF(LOGSPACE) και να μου πει το ποσοστό το οποίο είναι used. Πραγματικά δεν ήταν μεγάλο (18%). Έτσι μιας και ήμουν στο αυτοκίνητο και οδηγούσα και μιας και ο φίλος δεν είναι sqlman επέλεξα ένα εύκολο τρόπο για λύσω άμεσα το πρόβλημα. Του είπα και γύρισε μέσα από τoν SSMS την βάση σε simple recovery model, και να πάει να κάνει ξανά shrink file το log. Με μία μικρή διαφορά, αυτή την φορά του είπα να πάει στην επιλογή όπου ορίζουμε το επιθυμητό μέγεθος και του είπα να δώσει 250ΜΒ. O λόγος που του το είπα αυτό είναι για να γλυτώσει IO κατά την διάρκεια των επόμενων expantions του log. Έτσι έχουμε μια ακόμα ιστορία που αποδεικνύει ότι πρέπει να παίρνουμε KAI transaction log backup όταν έχουμε full recovery model στην database. Επίσης έχουμε και τον τρόπο με τον οποίο μπορούμε να μικρύνουμε το μέγεθος του log file.
  5. Είμαι ιδιαίτερα χαρούμενος που σαν επαγγελματίες που δεν έχουμε φερθεί με τον κανιβαλλιστικό τρόπο που θα έκαναν άλλοι σε ένα τέτοιο σοβαρό άρθρο. Ιορδάνη σε ευχαριστούμε για την ευκαιρία που μας έδωσες να δείξουμε αυτό το χαρακτηριστικό της κοινότητας μας Μπράβο σε όλους σας
  6. αν όπως είσαι στο SQL Server Configuration Manager πας πανω στο κάθε ένα από αυτά και κάνεις right clikc Properties > Advanced Tab προς το τέλος έχει το Stock Keeping Unit Name το οποίο σου λεει τι είναι το κάθε ένα
  7. άρα έχεις 2 SQL Server Instances το default που είναι to 5 και το ISARS που είναι το 2 το μόνο που πρέπει να δεις είναι τι έκδοση είναι το καθε ένα από αυτά και να μας πεις
  8. Θέλω αφου ανοίξεις τον SQL Server Configrutation Manager να κάνεις κλικ στο SQL Server Services και να μας πεις τι έχεις στον δεξi panel
  9. καλυτερα να μας πεις τι βλέπεις στον SQL Server Configuration Manager ώστε να καταλάβουμε τι έχεις σαν services
  10. σε κάθε περίπτωση το vs2008 οταν πρέπει να πειράξει το web.config το κάνει είτε είσαι σε IIS είτε όχι
  11. @pix_lax82 Δυστυχώς δεν κάναμε μαγνητοσκόπηση από το αγχος να ξεκινήσουμε. Υποσχομαι όμως ότι θα το κάνω μόνος μου και θα το εχετε διαθέσιμο
  12. χα χα χα καλό. εγώ λέω για 2 ώρες αν όμως το ακροατήριο είναι όπως και προχθές ενεργό και με πάθος δεν με χαλάει να πάμε και μέχρι το πρωί
  13. Σήμερα ανέβαζα ένα project σε production το οποίο ήταν ένα Web Application σε .ΝΕΤ όπου χρησιμοποιούσαμε το Report Viewer Control για να δείχνουμε τα reports που η εφαρμογή έχει. Ενώ σε όλα τα στάδια ανάπτυξης και τεστ δεν είχαμε κάποιο θέμα μόλις ανέβηκε στην παραγωγή άρχισαν τα τηλέφωνα από τον πελάτη και μου στέλνουν και ένα mail με ένα screen dump όπου το control αυτό δεν έκανε τίποτα τα είχε δει όλα. Η εικόνα του control ήταν η παρακάτω Φυσικά ο IIS της παραγωγής ήταν ο 7 στο οποίο έχουν γίνει θεαματικές αλλαγές. Έτσι όταν βάζεις ένα control σε μια web page to Visual Studio παει και βάζει μέσα στο web.config το παρακάτω entry system.web> httpHandlers> add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/> httpHandlers> system.web> Ο IIS 7 δεν μπορεί να το διαβάσει καθώς το httpHandlers section δεν είναι εκει πλέον αλλα στο . Δυστυχώς το VS 2008 πειράζει το web.config με την λογική του IIS 6.0. Θα πρέπει λοιπόν για να διορθωθεί το θέμα αυτό είτε από το management tool του IIS 7 να βάλει το http Handler είτε να αλλάξεις εσύ το web.config όπως παρακάτω system.webServer> handlers> add name="ReportViewerWebControl" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> handlers> system.webServer>
  14. Επειδή μάλλον το πρώτο άρεσε είπα να κάνω και το δεύτερο σύντομα. Έτσι λοιπόν θα συνεχίσουμε από εκεί που μείναμε δηλαδή την δημιουργία μιας database με πολλά tips για αυτούς που θέλουν να μάθουν να σχεδιάζουν σωστά μια database στον SQL Server. Φυσικά αυτό από πίσω κρύβει αρκετή δόση αρχιτεκτονικής. Παρακάτω θα σας δίνω τα στοιχεία του meeting και ελπίζω να δω τους περισσότερους από εσάς. Ημερομηνία & Ώρα : 23/10/2010 22:30 μμ Attendee URL: https://www.livemeeting.com/cc/mvp/join?id=WP7JZ9&role=attend&pw=s%26Dr5%29JWD Meeting ID: WP7JZ9 Attendee Entry Code: s&Dr5)JWD Duration: 2 hours Μέχρι τότε να είσαι όλοι καλά και να προσέχετε τον εαυτό σας. Εδώ θα βρείτε την μαγνητοσκοπημένη παρουσίαση
  15. θα υπάρχει recording σε όλα τα Saturday SQL Nights. Αυτή την στιγμή όμως δεν έχω αποφασίσει για το που θα τα ανεβάζω αλλά αυτό θα γίνει σύντομα γνωστό
  16. Χειμώνιασε και νομίζω ότι είναι καιρός να αρχίσουμε . Βασανίστηκα αρκετά για να επιλέξω θέμα. Είχα να επιλέξω μεταξύ πολλών θεμάτων. Κάποια ήταν υψηλής δυσκολίας και ίσως φίλοι που δεν έχουν την απαιτούμενη εμπειρία στον SQL Server θα είχαν δυσκολίες στην παρακολούθηση. Κάποια άλλα εύκολα και οι έμπειροι φίλοι να τα έβρισκαν ανιαρά. Δύσκολη απόφαση. Έτσι πήρα μια απόφαση που πιστεύω ότι είναι η πιο δίκαιη. Θα ξεκινήσουμε από τα βασικά ώστε μέσα στα πρώτα 4-5 μαθήματα να έρθουν οι «μη έμπειροι» σε μια κατάσταση όμοια με τους «έμπειρους» . Στο 1ο μάθημα θα ξεκινήσουμε από την εγκατάσταση του SQL Server και θα φτάσουμε μέχρι την δημιουργία και την αρχιτεκτονική μιας database. Απλό θέμα αλλά νομίζω ότι είναι απαραίτητο για αρχή. Εξάλλου θα είναι και πιλότος για το διαδικαστικό μέρος της προσπάθειας αυτής. Παρακάτω θα σας δίνω τα στοιχεία του meeting και ελπίζω να δω τους περισσότερους από εσάς. Ημερομηνία & Ώρα : 16/10/2010 22:30 μμ Attendee URL: https://www.livemeeting.com/cc/mvp/join?id=ZR29ZM&role=attend&pw=5Kpf%5C%7B22w Meeting ID: ZR29ZM Attendee Entry Code: 5Kpf\{22w Duration: 2 hours Μέχρι τότε να είσαι όλοι καλά και να προσέχετε τον εαυτό σας.
  17. δεν έχει νόημα να το κάνω μεγαλύτερο ρε φίλε το video που έχω φτιάξει τα λέει όλα
  18. Μόλις είδα ότι είναι πλέον διαθέσιμο το SP2 για τον SQL Server 2008 Download Microsoft SQL Server 2008 Service Pack 2 και εδώ είναι bug fix list που αυτό διορθώνει
  19. εν μέρη ναι θα είσαι στα 4GB και θα είσαι με το άγχος ξανά, βάλε μια standard εκδοση για να έχεις το κεφάλι σου ήσυχο (αν και μπορείς να χρησιμοποιήσεις την Express 2008 R2 που είναι στα 10GB αλλά δεν ξέρω να σου πω πως θα συμπεριφερθεί με τον Sharepoint λογικά δεν θα έχει θέμα)
  20. Οι θέσεις δεν είναι περιορισμένες ή μάλλον να το θέσω καλύτερα περιορίζονται από τις δυνατότητες της γραμμής που θα έχουμε στην διάθεση μας καθώς επίσης και από το Live Meeting. Βέβαια υπάρχουν και αντικειμενικές δυσκολίες αν πχ υπάρχουν 40 άτομα θα είναι λίγο δύσκολο να σας συντονίσω με τις ερωτήσεις αλλά κάτι θα γίνει για αυτό με την κατανόηση όλων
  21. από αυτά που λες δεν μου μυρίζει θέμα του SQL Server
  22. Αναζητώντας τρόπους για να εκτονώσω την όρεξη μου για εκπαίδευση αποφάσισα να κάνω κάτι μιας και δεν βλέπω να γίνεται κάτι άλλο αυτό τον καιρό. Η ιδέα μου ήρθε έτσι ξαφνικά σήμερα το βράδυ ακούγοντας την βροχή να πέφτει. Σκέφτηκα ότι τώρα που χειμωνιάζει και οι περισσότεροι θα είμαστε χωμένοι μέσα στην ζεστασιά του σπιτιού μας τα βράδια του Σαββάτου να διοργανώσω εκπαιδευτικά live meetings με θέματα που αφορούν τον SQL Server (και Visual Studio άμα θέλετε). Το concept όπως το έχω σκεφτεί έχει ως εξής: Κάθε δεύτερο Σάββατο γύρω στις 23:00 το βράδυ που όλοι θα είστε χαλαροί μιας και θα έχετε βάλει τις πυτζάμες σας, τις παντόφλες σας, και τα παιδία για ύπνο να βρισκόμαστε ηλεκτρονικά και να σας κάνω εκπαίδευση πάνω στο θέμα το οποίο είτε θα έχω επιλέξει είτε θα μου έχετε προτείνει εσείς. Φυσικά όλα αυτά θα είναι δωρεάν και θα έχει διάρκεια περίπου 2 ώρες. Επειδή δεν ξέρω αν αυτό θα έχει ανταπόκριση θα ήθελα τη γνώμη σας ώστε αν δω ότι είναι θετική να προχωρήσω στην διοργάνωση του. Για το λόγο αυτό θα ήθελα να ποστάρετε την απάντηση σας στο παρόν ποστ και φυσικά αν έχετε κάποιο θέμα που θα θέλατε να παρουσιαστεί. Επίσης καλό θα ήταν αυτό να το διαδώσετε και στους φίλους σας ώστε να μπουν και αυτοί να ψηφίσουν και φυσικά να θέσουν το θέμα τους Φιλικά Αντώνης Υ.Γ Θα παρακαλούσα να έχω τις απαντήσεις εδώ και όχι κάπου άλλου ώστε να τις έχω συγκεντρωμένες σε ένα σημείο
  23. Οχι ρε φιλε δεν κάνανε αυτό οι άνθρωποι απλά ξεκίνησαν από αυτό γιατί οι χρήστες περνούσαν δεδομένα όπως λάχει και μετά έλεγαν ότι δεν τα βρήσκουν. Ξέρουν πολύ καλά τι θέλουν να κάνουν όπως ξέρουν πολύ καλά ότι αυτό που θέλουν ναι μεν υπάρχει στον SQL Server αλλά δεν υποστήριζει stemmer ελληνικό. Δυστυχώς όπως ξέρεις κάνουμε μεγάλο αγώνα για ν υπάρχει αυτή η δυνατότητα στον επόμενο Full Text Search του SQL Server
  24. όχι να σου το εξηγήσω αμα θες
  25. Σήμερα είχα μια ωραία ερώτηση από μια αγαπητή συνάδελφο σχετικά με τον τελεστή LIKE. Η ερώτηση της ήταν: «Πως μπορώ να έχω την δυνατότητα με τον τελεστή LIKE να έχω όλα τα records που είναι περασμένα μέσα στην βάση μου σε ένα πίνακα ακόμα και στην περίπτωση που έχουν περαστεί κάποιοι χαρακτήρες με ελληνικά και κάποιοι με αγγλικά;» Στην ουσία αυτό που ήθελε ήταν αν έχω ένα πεδίο σε ένα πίνακα μου και έχω περάσει κάποια records που σε αυτό να έχω τις τιμές Antonis, Αντonis, Αntώνης εάν δώσω Antonis ή Αντώνης να μου τα φέρνει όλα. Αυτό γίνεται εύκολα αρκεί να χρησιμοποιήσεις για κάθε χαρακτήρα της λέξης που βάζει στο Like το pattern με τις αγκύλες στο οποίο ορίζεις τους χαρακτήρες που θα ψάξεις Πχ Έστω ότι έχω τον παρακάτω πίνακα create table tbLike ( id int identity(1,1) primary key, memo nvarchar(100)) Στον οποίο περνάω 2 records insert into tbLike values ('λαλα'),('λaλa') και θέλω να μου φέρει και τα δύο records to query μου θα πρέπει να είναι το παρακάτω select * from tbLike where memo like 'λ[aα]λ[aα]' Επειδή αυτό θέλω να κατασκευάζεται αυτόματα τις έφτιαξα μια user define function η οποία παίρνει σαν παράμετρο το input του χρήστη και φτιάχνει το pattern me κάποιες παραδοχές όσον αφορά την αντιστοιχία των ελληνικών και αγγλικών γραμμάτων. Αυτή είναι η παρακάτω (σημείωση: Έχω προτιμήσει να την γράψω με τον απλούστερο τρόπο ώστε να είναι εύκολα μετατρέψιμη ακόμα και από κάποιον που ξέρει τα βασικά σε Τ-SQL) 1: create function fnGreekEnglishLikeString(@instring nvarchar(100)) returns nvarchar(100) 2: as 3: begin 4: --abcdefghijklmnopqrstuvwxyz 5: --αβγδεζηθικλμνξοπρστυφχψω 6: 7: declare @rv nvarchar(100) 8: declare @i int = 1 9: declare @length int 10: select @length = len(@instring) 11: declare @s nvarchar(10) 12: set @rv='' 13: while @i 14: begin 15: set @s='' 16: select @s=case 17: when substring(@instring,@i,1) = 'a' or substring(@instring,@i,1) = 'α' then '[aα]' 18: when substring(@instring,@i,1) = 'b' or substring(@instring,@i,1) = 'β' then '[bβv]' 19: --when substring(@instring,@i,1) = 'c' or substring(@instring,@i,1) = '.' then '[bβ]' 20: when substring(@instring,@i,1) = 'd' or substring(@instring,@i,1) = 'δ' then '[dδ]' 21: when substring(@instring,@i,1) = 'e' or substring(@instring,@i,1) = 'ε' then '[eε]' 22: when substring(@instring,@i,1) = 'f' or substring(@instring,@i,1) = 'φ' then '[fφ]' 23: when substring(@instring,@i,1) = 'g' or substring(@instring,@i,1) = 'γ' then '[gγ]' 24: when substring(@instring,@i,1) = 'h' or substring(@instring,@i,1) = 'β' then '[hηiι]' 25: when substring(@instring,@i,1) = 'i' or substring(@instring,@i,1) = 'ι' then '[iιhη]' 26: --when substring(@instring,@i,1) = 'j' or substring(@instring,@i,1) = 'β' then '[bβ]' 27: when substring(@instring,@i,1) = 'k' or substring(@instring,@i,1) = 'κ' then '[kκ]' 28: when substring(@instring,@i,1) = 'l' or substring(@instring,@i,1) = 'λ' then '[lλ]' 29: when substring(@instring,@i,1) = 'm' or substring(@instring,@i,1) = 'μ' then '[mμ]' 30: when substring(@instring,@i,1) = 'n' or substring(@instring,@i,1) = 'ν' then '[nν]' 31: when substring(@instring,@i,1) = 'o' or substring(@instring,@i,1) = 'ο' then '[oοω]' 32: when substring(@instring,@i,1) = 'p' or substring(@instring,@i,1) = 'π' then '[pπ]' 33: --when substring(@instring,@i,1) = 'q' or substring(@instring,@i,1) = 'β' then '[bβ]' 34: when substring(@instring,@i,1) = 'r' or substring(@instring,@i,1) = 'ρ' then '[rρ]' 35: when substring(@instring,@i,1) = 's' or substring(@instring,@i,1) = 'σ' or substring(@instring,@i,1) = 'ς' then '[sσς]' 36: when substring(@instring,@i,1) = 't' or substring(@instring,@i,1) = 'τ' then '[tτ]' 37: when substring(@instring,@i,1) = 'u' or substring(@instring,@i,1) = 'υ' then '[uυy]' 38: when substring(@instring,@i,1) = 'v' or substring(@instring,@i,1) = 'β' then '[vβb]' 39: --when substring(@instring,@i,1) = 'w' or substring(@instring,@i,1) = 'β' then '[bβ]' 40: when substring(@instring,@i,1) = 'x' or substring(@instring,@i,1) = 'χ' then '[xχ]' 41: when substring(@instring,@i,1) = 'y' or substring(@instring,@i,1) = 'υ' then '[uυy]' 42: when substring(@instring,@i,1) = 'z' or substring(@instring,@i,1) = 'ζ' then '[zζ]' 43: else '['+substring(@instring,@i,1)+']' 44: end 45: set @rv=@rv+@s 46: set @i+=1 47: end 48: return @rv 49: end 50: go Εάν κάποιος θέλει να δει το αποτέλεσμα που επιστρέφει η συγκεκριμένη function αρκεί να εκτελέσει το παρακάτω query select dbo.fnGreekEnglishLikeString('antonis') go Εάν τώρα θέλει να το ενσωματώσει στο query του select * from tbLike where memo like dbo.fnGreekEnglishLikeString('antonis') go Happy T-SQL Programming
×
×
  • Create New...