Jump to content

antonch

Administrators
  • Posts

    1030
  • Joined

  • Last visited

  • Days Won

    7

Blog Entries posted by antonch

  1. antonch
    Χρόνια Πολλά σε όλους!
    Εύχομαι ο νέος χρόνος να φέρει υγεία, αγάπη και ευτυχία σε εσάς και τις οικογένειες σας.
    Αυτές τι μέρες βρήκα την ευκαιρία να διαβάσω αρκετά νέα βιβλία τα οποία είχα προμηθευτεί επί τούτου. Μέσα σε όλα αυτά ξεχώρισα τo παρακάτω εισαγωγικό σημειώμα που apriory με εκφράζει απόλυτα.
    Με το που το διάβασα πετάχθηκα από το καναπέ μου και αναφώνησα ΠΕΣΤΑ ΧΡΥΣΟΣΤΟΜΕ. Χαίρομαι ιδιαίτερα όταν αυτά που και εγώ πιστεύω και διδάσκω είναι σύμφωνα με τα λεγόμενα ανθρώπων που είναι έγκυροι και καταξιωμένοι στην επιστημονική κοινότητα.
    Ο εν λόγω κύριος είναι ο Paul Nielsen, SQL Server MVP με πάνω από 30 χρόνια φούρναρης εεε Database Specialist και συγγραφέας του SQL Server Bible http://www.sqlserverbible.com/. Ειδικά το υπογραμμισμένο κείμενο είναι κορυφαίο παράδειγμα για αυτούς που επιμένουν να θεωρούν την βάση σαν ένα κουβά.
    Απολαύστε το

    Any database can be evaluated on six basic criteria: usability, data integrity, scalability, extensibility, availability, and security. Of these database objectives, the first four are primarily driven by the design and development of the database.
    One of the best practices that serves as a root cause for each of the four design driven goals is the elegance of the database design itself.
    The trouble is that elegance of design can be an elusive creature—difficult to define, difficult to achieve, and difficult to teach. But we do know that at the core of every well-designed database are the principles of normalization. In the application development world, technologies are annual trends, but not so in the database world. Even after nearly 40 years, normalization—one grouping of things is one entity, one thing is one tuple, one fact is one attribute, and every attribute must describe the tuple—is still the foundation of database technology.
    In the quest for elegance of design, the concepts of generalization and data driven design augment, but don’t negate, normalization. The war cry of the data architect is still, “The key, the whole key, and nothing but the key!” I am concerned, however, that database development skills—database design, normalization, and T-SQL—seem to be a dying art. In many shops, the lone data architect is outnumbered 50 to 1 by developers who don’t respect the
    importance of data integrity. Managers listen to the crowd, and systems are designed for today rather than for next year, much less the next decade. The design methods and development tools used to encapsulate data should be at least as stable and live as long as the data. And data lasts a long, long time. Ask around, and
    see how many DBAs manage data that’s 10, 20, or 50 years old. Most do.
    The average lifecycle of a popular application development language is 3 to 5 years; a stored procedure written 20 years ago still runs (with maybe a slight tweak to the JOIN syntax). I picture the database as a granite rock that will last for an eon. Occasionally a UI developer comes along and paints a pretty chalk picture on the rock; it washes off and a few more UI developers add their pictures. They all wash off with time, but the rock remains. OK, it’s a stretch, and I do like a great UI, but the point is that any IT architecture should be founded on data integrity.

  2. antonch
    This is copy-paste from the original article
    We’re thrilled to offer another free ebook: Own Your Future: Update Your Skills with Resources and Career Ideas from Microsoft, by Katherine Murray. The ebook contains eight chapters and an appendix describing how you can assess and build your technology-based job skills.
    To give you a sense of the ebook’s content, here is its Foreword, by Microsoft Learning’s Lutz Ziob:

    Foreword

    In the midst of a struggling economy, our fast-changing, knowledge-based economy has created unprecedented challenges for employers and workers alike. Employers increasingly need workers with a broad range of information technology (IT) skills. These skills will become even more important as we continue to retool major sectors of our economy, such as healthcare, transportation and energy. By 2014, more than three-quarters of all jobs in the United States will require some level of computing or technology skills, and the vast majority of newly created jobs will require post-secondary education or training. To meet this demand, students need a solid foundation in science, technology, engineering, math, and design, as well as in related disciplines such as computer science. And this means that workforce training systems need to be improved and expanded to meet the needs of all workers—the underemployed, the unemployed, and students who need better access to the requisite skills. Everyone entering or already in the workforce should have access to the resources they need to become lifelong learners who can adapt to an ever-changing workplace.
    Technology is only one piece of the puzzle, but it has a pivotal role to play in these efforts. It can offer students, workers, and employers the training tools they need, and it can help to quickly and efficiently expand access to educational resources. IT also helps people develop other essential 21st-century skills such as collaboration and teamwork, finding and interpreting information, and using data to aid in decision making.
    In this book, students will find a wealth of Microsoft resources they can
    use to identify the technology skills they need, and gather knowledge and experience to help them take charge of their careers. Here at Microsoft, we care about students’ career success and hope these resources will open doors to learning that will lead them to better opportunities and a deeper understanding of the way technology continues to change and improve the ways people work—both here in the U.S. and around the world.
    Lutz Ziob
    Microsoft Learning General Manager
    You can download the ebook in XPS format here and in PDF format here.
    We hope that you find this material useful. Please leave us a comment and let us know!
  3. antonch
    Source: SQL Server Magazine
    SQL Server 2008 R2 has been released to manufacturing. Microsoft’s Ted Kummert, the senior vice president for the Business Platform Division, and Tom Casey, the general manager for Microsoft Business Intelligence, were excited to point out that this release comes only 20 months after SQL Server 2008 was released. However, SQL Server 2008 R2 won’t be generally available until May 13 (you can download it May 3 if you’re a MSDN or TechNet subscriber). In the meantime, you can download an evaluation version from the SQL Server 2008 R2 launch site.
  4. antonch
    Πριν μερικές μέρες σε μια συζήτηση που είχα με ένα καλό φίλο και συνάδελφο στο Messenger μου ανάφερε ότι στο www.tpc.org στα TPC-C results δεν υπάρχει καμία αναφορά στον SQL Server.
    Ομολογώ ότι αυτό με έκανε να ξαφνιαστώ, αν και βέβαια είχα πάνω από δύο χρόνια να μπω στο συγκεκριμένο site ώστε να δω τι ακριβώς γίνεται, μιας και πίστευα ότι θα υπήρχε εκεί ο SQL Server, μπορεί να μην ήταν στην πρώτη θέση αλλά τουλάχιστον μέσα στην πρώτη πεντάδα.
    Η έκπληξη μου όπως καταλαβαίνεται ήταν μεγάλη, πολλά άρχισαν να γυρίζουν στο μυαλό μου, αλλά σε καμία περίπτωση δεν θεώρησα ότι κάτι τέτοιο ανταποκρίνεται στην πραγματικότητα. Έτσι αποφάσισα να το διερευνήσω περισσότερο.
    Έπειτα από την έρευνα που έκανα βρήκα τελικά την απάντηση που έψαχνα και αυτή είναι ότι η Microsoft έχει αποσυρθεί από την διαδικασία του TPC-C και έχει μεταφερθεί στην διαδικασία TPC-E.
    Ο λόγος που το έκανε αυτό είναι γιατί η διαδικασία C είναι πλέον παρωχημένη, και δεν εστιάζει στον πραγματικό σημερινό κόσμο. Αυτό φυσικά δεν το λέω εγώ αλλά ούτε η Microsoft αλλά ο ίδιος ο οργανισμός TPC ο οποίος είναι ανεξάρτητος και φυσικά είναι και αυτός που θέτει τις προδιαγραφές.
    Μπορείτε να τις βρείτε όλες εδώ.
    Εγώ απλά θα δανειστώ από αυτές τον παρακάτω πίνακα ο οποίος δείχνει τις διαφορές μεταξύ των δύο μεθόδων
    Characteristic
    TPC-E
    TPC-C
    Tables 33
    9
    Columns
    188
    92
    Min Cols/Table
    2
    3
    Max Cols/Table
    24
    21
    Data Types Count
    Many
    4
    Data Types
    UID, CHAR, NUM, DATE, BOOL, LOB
    UID, CHAR, NUM, DATE
    Primary Keys
    33
    8
    Foreign Keys
    50
    9
    Tables w/Foreign Keys
    27
    7
    Check Constraints
    22
    0
    Referential Integrity
    Yes
    No
    Τα συμπεράσματα όπως πάντα δικά σας.
  5. antonch
    Η άφιξη του είναι ποια γεγονός. Έτσι όπως κάνω πάντα φτιάχνω τα σχετικά βοηθήματα που θέλω να έχω σε πρώτη ζήτηση. Αφού το έφτιαξα για μένα γιατί να μην το έχετε και εσείς.

    Σας δίνω λοιπόν ένα poster με όλα τα features του SQL Server 2008 R2 ανά έκδοση ώστε να ξέρετε τι και που θα βρείτε αυτό που θέλετε.

    download it


     
  6. antonch
    Σήμερα ένας αγαπητός φίλος και συνάδελφος μου έκανε μια ερώτηση. Η στιγμή που μου την έκανε ήταν δύσκολη και δεν είχα την άνεση να του την απαντήσω. Του υποσχέθηκα όμως ότι θα το κάνω. Έτσι αυτό το Post είναι αφιερωμένο εξαιρετικά στο φίλο και συνάδελφο του οποίου η ερώτηση ήταν

    "Αντώνη διαβάζω μέσα από το blog σου ότι το μέγιστο record length που μπορώ να έχω μέσα σε μια σελίδα και κατά συνέπεια μέσα σε κάθε πίνακα είναι 8060 bytes. Όμως αυτό δεν μου βγαίνει με τα μαθηματικά. Διότι όπως λες μια σελίδα είναι 8192 bytes από τα οποία αφαιρούμε 96 bytes σαν page header και υπάρχει και το page slot array(offset) στο οποίο φαίνεται η σειρά με την οποία έχουν μπει τα records στην σελίδα. Αν αφαιρέσω τα 96 bytes του header μου μένουν 8096 bytes μέχρι τα 8060 μου λείπουν 36 bytes. Πόσο τελικά είναι αυτό το page slot array (offset);"

    Λοιπόν έχουμε και λέμε ή λέμε και έχουμε:

    8060 bytes είναι το max record length αυτό είναι αδιαμφισβήτητο.

    8192 bytes είναι το μέγεθος της σελίδας και αυτό είναι αδιαμφισβήτητο.

    96 bytes είναι το μέγεθος του page header και αυτό είναι αδιαμφισβήτητο.

    Άρα έχω υπόλοιπο 8096 bytes.

    Οπότε 8096 - 8060 = 36 bytes που πρέπει να δούμε που πάνε.

    Για κάθε γραμμή έχω κάποια επιπλέον overheads

    14 bytes για την περίπτωση που έχω snapshot isolation level.

    2 bytes για το row status

    2 bytes στα οποία υπάρχει ο μέγεθος των fixed lenght fields

    2 bytes στα οποία υπάρχει ο αριθμός των πεδίων που υπάρχουν στην γραμμή.

    1 byte για τα NULL bitmaps

    2 bytes για τον αριθμό των variable lenght fields

    11 bytes για τον forward record pointer

    και

    2 bytes για το page slot array (offset)

    Άρα στο σύνολο έχω 36

    Οπότε 36 - 36 = 0 bytes

    Θυμάσε Νίκο μου όταν σου είπα δες πως αποθηκεύεται η γραμμή;
  7. antonch
    Τα πολλά λόγια είναι φτώχια δείτε το περιεχόμενο του και είμαι σίγουρος ότι θα τα κατεβάσετε
    Contents
    The training kit includes the following content:
    Presentations (32) SQL Server 2008 R2 Update for Developers Overview Part I - SQL Server 2008 Review SQL Server 2008 R2 Update for Developers Overview Part II - Introducing SQL Server 2008 R2 SQL Server 2008: Filestream SQL Server 2008: Spatial SQL Server 2008: T-SQL SQL Server 2008: Date and Time Types SQL Server 2008: SQLCLR SQL Server 2008: Reporting Services SQL Server 2008 R2: Introducing Application and Multi-Server Management with SQL Server 2008 R2 and Visual Studio 2010 SQL Server 2008 R2: Working with Data Tier Application Projects in Visual Studio 2010 SQL Server 2008 R2: Managing Change in Data Tier Application Projects with Visual Studio 2010 and SQL Server 2008 R2 SQL Server 2008 R2: Introducing SQL Server 2008 R2 StreamInsight SQL Server 2008 R2: Querying Events in SQL Server 2008 R2 StreamInsight SQL Server 2008 R2: Designing SQL Server 2008 R2 StreamInsight Event Models and Adapters SQL Server 2008 R2: Installing, Deploying and Maintaining the SQL Server 2008 R2 StreamInsight Runtime Engine SQL Server 2008 R2: What's New in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Developing Reports with the New Features of SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Visualizing Data with Maps in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Working with Shared Components in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Working with ATOM Data Feeds in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Embedded Reporting in Applications with SQL Server 2008 R2 Reporting Services and Visual Studio 2010 SQL Server 2008 R2: Developing with the Microsoft Chart Controls in Visual Studio 2010 SQL Server 2008 R2: What's New in the Excel 2010 Client SQL Server 2008 R2: Loading and Preparing Data for Analysis in SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Creating Reports with SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Defining DAX Calculations with PowerPivot for Excel 2010 SQL Server 2008 R2: Introducing SharePoint 2010 Insights SQL Server 2008 R2: What's New in SharePoint 2010 Excel Services SQL Server 2008 R2: What's New in SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Developing KPI's and Scorecards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Managing PowerPivot for Excel 2010 Solutions in SharePoint 2010 Demos (39) SQL Server 2008: AdventureWorks Racing All-Up Demo SQL Server 2008: Spatial Demo SQL Server 2008: Spatial Types SQL Server 2008: Introduction to Filestream SQL Server 2008: SQL CLR Nullable Types SQL Server 2008: Programming with Filestream SQL Server 2008: Reporting Services Web Application Integration SQL Server 2008: T-SQL Date and Time Support SQL Server 2008: T-SQL Table-Valued Parameters SQL Server 2008: T-SQL Row Constructors SQL Server 2008: T-SQL Grouping Sets SQL Server 2008: T-SQL Merge SQL Server 2008 R2: Creating a Utility Control Point SQL Server 2008 R2: Enrolling a Managed Instance SQL Server 2008 R2: Creating Data-Tier Applications SQL Server 2008 R2: Data-Tier Application Deployment SQL Server 2008 R2: Managing Change in Data Tier Application Projects in Visual Studio 2010 SQL Server 2008 R2: Introducing SQL Server 2008 R2 StreamInsight SQL Server 2008 R2: Querying Events in SQL Server 2008 R2 StreamInsight SQL Server 2008 R2: Advanced SQL Server 2008 R2 StreamInsight Event Queries SQL Server 2008 R2: Working with SQL Server 2008 R2 StreamInsight CTI Events and Advance Time Settings SQL Server 2008 R2: Creating a SQL Server 2008 R2 StreamInsight Input Adpater SQL Server 2008 R2: Choosing a SQL Server 2008 R2 StreamInsight Development Model SQL Server 2008 R2: Using the SQL Server 2008 R2 StreamInsight Event Flow Debugger SQL Server 2008 R2: Using the New Report Design Features in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Visualizing Data with Maps in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Using Shared Component Libraries in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Using SQL Server 2008 R2 Reporting Services Report Feeds SQL Server 2008 R2: Using the Visual Studio 2010 Report Viewer Control SQL Server 2008 R2: What's New in the Excel 2010 Client SQL Server 2008 R2: Loading and Preparing Data for Analysis in SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Creating Reports with SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Defining DAX Calculations with SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Introducing SharePoint 2010 Insights SQL Server 2008 R2: What's New in SharePoint 2010 Excel Services SQL Server 2008 R2: What's New in SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Developing KPI's and Scorecards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Managing Excel 2010 PowerPivot Solutions in SharePoint 2010 Hands-on Labs (24) SQL Server 2008: How to build your first Web Application with SQL Server and ASP.NET SQL Server 2008: Using Spatial Data in TSQL SQL Server 2008: Using Spatial Data in Managed Code SQL Server 2008: Using SQL CLR in SQL Server 2008 SQL Server 2008 R2: Introduction to PowerPivot SQL Server 2008 R2: Introduction to Reporting Services Improvements SQL Server 2008 R2: Introduction to StreamInsight and Complex Event Processing SQL Server 2008 R2: Introduction to Data-tier Applications SQL Server 2008 R2: Creating and Deploying a Data-Tier Application SQL Server 2008 R2: Managing Change in Data-Tier Application Projects in Visual Studio 2010 SQL Server 2008 R2: Querying Events in SQL Server 2008 R2 StreamInsight using LINQ SQL Server 2008 R2: Working with the SQL Server 2008 R2 StreamInsight Samples SQL Server 2008 R2: Working with the SQL Server 2008 R2 StreamInsight Event Flow Debugger SQL Server 2008 R2: Visualizing Data with Maps in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Developing and Consuming Report Libraries in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Working with ATOM Data Feeds in SQL Server 2008 R2 Reporting Services SQL Server 2008 R2: Embedded Reporting in Applications with SQL Server 2008 R2 Reporting Services and Visual Studio 2010 SQL Server 2008 R2: Developing with the Microsoft Chart Controls SQL Server 2008 R2: Loading and Preparing Data for Analysis in SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Creating Reports with SQL Server PowerPivot for Excel 2010 SQL Server 2008 R2: Defining DAX Calculations with Excel 2010 PowerPivot SQL Server 2008 R2: Developing KPI's and Scorecards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services SQL Server 2008 R2: Managing Excel 2010 PowerPivot Solutions in SharePoint 2010 Videos (55) SQL Server 2008 R2 Update for Developers Overview Part I - SQL Server 2008 Review SQL Server 2008 R2 Update for Developers Overview Part II - Introducing SQL Server 2008 R2 Introducing SQL Server 2008 R2 StreamInsight Demo: Real Time Analytics with SQL Server 2008 R2 StreamInsight Introducing SQL Server 2008 R2 Application and Multi-Server Management Introducing SQL Server 2008 R2 Reporting Services Introduction To SQL Server 2008 R2 StreamInsight and Complex Event Processing Introducing PowerPivot for Excel 2010 and SharePoint 2010 Presentation: Introducing Application and Multi-Server Management with SQL Server 2008 R2 and Visual Studio 2010 Demo: Creating a Utility Control Point Demo: Enrolling a Managed Instance Presentation: Working with Data Tier Application Projects in Visual Studio 2010 Demo: Creating Data-Tier Applications Demo: Data-Tier Application Deployment Presentation: Managing Change in Data Tier Application Projects with Visual Studio 2010 and SQL Server 2008 R2 (Part I) Presentation: Managing Change in Data Tier Application Projects with Visual Studio 2010 and SQL Server 2008 R2 (Part II) Demo: Managing Change in Data Tier Application Projects in Visual Studio 2010 Presentation: Introducing SQL Server 2008 R2 StreamInsight (Part I) Presentation: Introducing SQL Server 2008 R2 StreamInsight (Part II) Demo: Introducing SQL Server 2008 R2 StreamInsight Presentation: Querying Events in SQL Server 2008 R2 StreamInsight (Part I) Presentation: Querying Events in SQL Server 2008 R2 StreamInsight (Part II) Demo: Querying SQL Server 2008 R2 StreamInsight Using LINQ Presentation: Querying Events in SQL Server 2008 R2 StreamInsight (Part III) Demo: Advanced SQL Server 2008 R2 StreamInsight Event Queries Presentation: Designing SQL Server 2008 R2 StreamInsight Event Models and Adapters (Part I) Presentation: Designing SQL Server 2008 R2 StreamInsight Event Models and Adapters (Part II) Demo: Working with SQL Server 2008 R2 StreamInsight CTI Events and Advance Time Settings Presentation: Designing SQL Server 2008 R2 StreamInsight Event Models and Adapters (Part III) Demo: Creating a SQL Server 2008 R2 StreamInsight Input Adapter Presentation: Installing, Deploying and Maintaining the SQL Server 2008 R2 StreamInsight Runtime Engine (Part I) Presentation: Installing, Deploying and Maintaining the SQL Server 2008 R2 StreamInsight Runtime Engine (Part II) Demo: Choosing a SQL Server 2008 R2 StreamInsight Development Model Presentation: Installing, Deploying and Maintaining the SQL Server 2008 R2 StreamInsight Runtime Engine (Part III) Demo: Using the SQL Server 2008 R2 StreamInsight Event Flow Debugger resentation: What's New in SQL Server 2008 R2 Reporting Services Presentation: Developing Reports with the New Features of SQL Server 2008 R2 Reporting Services Demo: Using the New Report Design Features in SQL Server 2008 R2 Reporting Services Presentation: Visualizing Data with Maps in SQL Server 2008 R2 Reporting Services Demo: Visualizing Data with Maps in SQL Server 2008 R2 Reporting Services Presentation: Working with Shared Components in SQL Server 2008 R2 Reporting Services Demo: Using Shared Component Libraries in SQL Server 2008 R2 Reporting Services Presentation: Working with ATOM Data Feeds in SQL Server 2008 R2 Reporting Services Demo: Using SQL Server 2008 R2 Reporting Services Report Feeds Presentation: Embedded Reporting in Applications with SQL Server 2008 R2 Reporting Services and Visual Studio 2010 Demo: Using the Visual Studio 2010 Report Viewer Control Presentation: Developing with the Microsoft Chart Controls in Visual Studio 2010 Presentation: What's New in the Excel 2010 Client Demo: What's New in the Excel 2010 Client Presentation: Loading and Preparing Data for Analysis in SQL Server PowerPivot for Excel 2010 Demo: Loading and Preparing Data for Analysis in SQL Server PowerPivot for Excel 2010 Presentation: Creating Reports with SQL Server PowerPivot for Excel 2010 Demo: Creating Reports with SQL Server PowerPivot for Excel 2010 Presentation: Defining DAX Calculations with PowerPivot for Excel 2010 Demo: Defining DAX Calculations with SQL Server PowerPivot for Excel 2010 Presentation: Introducing SharePoint 2010 Insights Demo: Introducing SharePoint 2010 Insights Presentation: What's New in SharePoint 2010 Excel Services Demo: What's New in SharePoint 2010 Excel Services Presentation: What's New in SharePoint 2010 PerformancePoint Services Demo: What's New in SharePoint 2010 PerformancePoint Services Presentation: Developing KPI's and Scorecards with SharePoint 2010 PerformancePoint Services Demo: Developing KPI's and Scorecards with SharePoint 2010 PerformancePoint Services Presentation: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services Demo: Developing Reports and Dashboards with SharePoint 2010 PerformancePoint Services Presentation: Managing Excel 2010 PowerPivot Solutions in SharePoint 2010 Demo: Managing Excel 2010 PowerPivot Solutions in SharePoint 2010 Λήψη του Training Kit
  8. antonch
    Πριν από μερικές μέρες μου ήρθε ένα ερώτημα από ένα φίλο για το τι είναι το C2 Level Auditing στον SQL Server. Δράττω την ευκαιρία αυτή για να το εξηγήσω σε όλους όσους ενδιαφέρονται να παρακολουθήσουν στενότερα το περιβάλλον τους στον SQL Server.
    Εδώ και πολλά χρόνια όπως ξέρουμε τεράστια ποσά έχουν δαπανηθεί στο να έχουμε ασφαλή συστήματα. Αυτό γίνεται με το να οροθετούνται συνεχώς νέα πρότυπα και standards. Οι λόγοι για κάτι τέτοιο είναι βέβαια προφανείς αλλά ποτέ κανείς δεν έπαθε τίποτα από την επανάληψη τους διότι όπως έλεγαν οι αρχαίοι (δυστυχώς μόνο αυτοί) πρόγονοι μας "Η επανάληψη είναι η μητέρα της μάθησης", έτσι θα τους επαναλάβω εν τάχει.
    · Να εντοπισθεί η κακομεταχείριση του συστήματος και να αποτραπεί η συνέχεια αυτής.
    · Να αποδοθούν οι συνέπειες σε αυτούς που είναι υπεύθυνοι για την κακομεταχείριση του συστήματος.
    · Να γίνουν οι ενέργειες που θα φέρουν το σύστημα στην προγενέστερη κατάσταση του, πριν δηλαδή από την υφιστάμενη κακομεταχείριση του.
    Τι είναι όμως το C2;
    Το Υπουργείο Άμυνας των ΗΠΑ έχει ορίσει μια σειρά από επίπεδα για το security level των υπολογιστικών συστημάτων τα οποία βασίζονται στις δυνατότητες τους αλλά και στο πως αυτά προσπελάζονται.
    Με βάση όλα αυτά από την έκδοση του SQL Server 2000 η Microsoft παρέχει την δυνατότητα να έχω C2 Level για το περιβάλλον του SQL Server. Εδώ θα πρέπει να πως ότι ο SQL Server είναι ήδη από τότε C2 Level certified (και μην με ρωτήσετε από πού, αυτό νομίζω ότι είναι προφανές). Για παράδειγμα θα πω ότι ο SQL Server ότι όλα τα δεδομένα τα οποία βγαίνουν από το C2 (files) βγαίνουν μόνο σε NTFS partitions.
    To C2 δημιουργεί auditing records για όλα τα server level events του SQL Server όπως shutdown. restart, successful & failed login attempts. Επίσης παρέχει την δυνατότητα να παρακολουθεί τα permissions σε database objects σε DDL, DCL, DML statements.
    Η πληροφορία που καταγράφεται περιέχει
    timestamp identifier για τον account το οποίο έκανε trigger το event target server name event type success or failure outcome application name server process ID database name Πώς ενεργοποιώ το C2 Auditing Level;
    Αυτό μπορώ να το κάνω με δύο τρόπους, ο πρώτος τρόπος είναι από το Server Properties windows (δεξί κλικ στο όνομα του server μέσα στο SSMS) όπως παρακάτω

    Ο δεύτερος τρόπος είναι με T-SQL commands όπως παρακάτω


    Code Snippet


    USE master GO sp_configure 'show advanced option', 1 GO RECONFIGURE GO sp_configure 'c2 audit mode',1 GO RECONFIGURE GO



    Σε κάθε περίπτωση απαιτείται restart του SQL Server για την ενεργοποίηση του!
    Από το σημείο αυτό και μετά στο data directory που έχουμε ορίσει για τον SQL Server Instance μας π.χ. C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA παράγονται αρχεία της μορφής audittraceΥΥΥΥΜΜDDHHMMSS.trc. Κάθε τέτοιο αρχείο μπορεί να φτάσει τα 200MB. Σε αυτή την περίπτωση δημιουργείται νέο αρχείο το οποίο περιέχει την συνέχεια. Επίσης θα πρέπει να τονίσω ότι στην περίπτωση που γεμίσει ο δίσκος που είναι τα C2 files τότε ο SQL Server σταματάει αυτόματα. Σε αυτή την περίπτωση θα πρέπει να ξεκινήσουμε το SQL Server service με το διακόπτη -f και μετά να ελευθερώσουμε χώρο στο δίσκο.
    Τα αρχεία αυτά μπορούμε να τα διαβάσουμε με δύο τρόπους. Ο ένας τρόπος είναι χρησιμοποιώντας τον SQL Server Profiler. Ο άλλος τρόπος είναι να τα δούμε σε μορφή πίνακα ώστε να τα κάνουμε manipulate με queries όπως παρακάτω


    Code Snippet


    SELECT *  FROM fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\audittrace20100530214218.trc', default)



     
    Βέβαια έχω την δυνατότητα να δω μόνο αυτά που θέλω πχ θέλω μόνο τα failed logins π.χ


    Code Snippet


    SELECT *  FROM fn_trace_gettable('C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\audittrace20100530214218.trc', default) WHERE TextData like '%Login failed%'



     
    Μερικές χρήσιμες πληροφορίες
    Υπάρχει όπως είναι κατανοητό κάποιο performance penalty, μιας και πρέπει να γράφονται πράγματα στο δίσκο. Σε αυτή την την περίπτωση καλό είναι να γράφονται σε ξεχωριστό φυσικό δίσκο (όχι partition). Στην περίπτωση που δεν μπορεί να γίνει καταγραφή των συμβάντων ο SQL Server δεν ξεκινάει. Στον SQL Server 2008 υπάρχει εναλλακτικός τρόπος για την καταγραφή των συμβάντων τόσο σε επίπεδο server όσο και σε επίπεδο database. (θα ασχοληθώ με αυτό σε άλλο post)
  9. antonch
    Σήμερα δεν ξημέρωσε καλά για κάποιον συνάδελφο.

    Δυστυχώς για αυτόν είχε να αντιμέτωπίσει ένα σοβαρό θέμα μιας και η βάση του ERP του ήταν suspect. Πραγματικά είχα καιρό να ακούσω για κάτι τέτοιο και τις περισσότερες φορές αιτία είναι hard disk failures.

    Όπως και να έχει όμως υπάρχει τρόπος να την φέρεις ξανά πίσω με την παραδοχή ότι θα έχεις πιθανότατα κάποιες απώλειες δεδομένων.

    Βέβαια η καλύτερη λύση σε αυτές τις περιπτώσεις είναι να κάνεις restore το backup σου που θα σου εξασφαλίσει ότι δεν θα έχει απώλειες δεδομένων.

    Στην παρακάτω λύση πάμε όταν δεν έχουμε backup. Κάτι το οποίο το θεωρώ αδιανόητο αλλά δυστυχώς ο συνάδελφος δεν είχε backup!

    Κανόνας Απαράβατος

    ΔΕΝ ΚΑΝΟΥΜΕ ΠΟΤΕ DETACH MIA SUSPECT DATABASE

    Από εκεί και μετά εκτελούμε μια μια τις παρακάτω εντολές

    ALTER DATABASE dbname SET EMERGENCY;
    GO
    ALTER DATABASE dbname SET SINGLE_USER;
    GO
    DBCC CHECKDB (dbname, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS;
    GO

    Μετά από την εκτέλεση της τελευταίας εντολής θα έχουμε ένα μεγάλο μύνημα το οποίο θα μας ενημερώσει για πολλά πράγματα και για το τι ακριβώς έχει γίνει και τι ενδεχομένος άλλες ενέργειες θα πρέπει να κάνουμε

    Το μόνο που μας μένει είναι να ξαναφέρουμε την βάση σε χρήση για πολλαπλούς χρήστες
    ALTER DATABASE dbname SET MULTI_USER;
    GO
  10. antonch
    Admin σε εταιρεία έχει ένα server στον οποίο έχει στήσει SQL Server. Ο server αυτός είναι για αποκλειστική χρήση του SQL Server, και έχει 12GB RAM.

    O admin αποφάσισε να δώσει τα 6GB από τα 12GB στον SQL Server.

    Σε ερώτηση γιατί το έκανε αυτό μιας και o server θα έχει αποκλειστικά SQL Server έδωσε την παρακάτω απάντηση:

    "Μπορεί κάποιος που είναι στο δύκτιο να θελήσει λίγο περισσότερη μνήμη, να μην έχω να του δώσω!" []
  11. antonch
    Η Microsoft ανακοίνωσε την έλευση του BPA για τον SQL Server 2008 R2. Στην ανακοίνωση που έβγαλε αναφέρει για αυτό
    BPA is designed to allow Administrators to validate their SQL Server instances against Microsoft established best practices. It includes best practices validations for SQL Server, SQL Replication, Analysis Services, Integration Services, Reporting Services, and Setup. BPA examines your SQL Server instance with roughly 150 validations of system events, login permissions, SQL Metadata settings, error logs, and reports those items that don’t conform to best practices. For each non-compliant error or warning there are detailed descriptions of the best practice and instructions for becoming compliant.
    For more information and to download SQL Server 2008 R2 BPA go here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=0fd439d7-4bff-4df7-a52f-9a1be8725591
    Σύντομα θα ακολουθήσει αναλυτικό post μου που θα σας περιγράφω τα του BPA.
    Καλή αρχή να έχουμε μέχρι τις επόμενες διακοπές μας.
  12. antonch
    Κατά την διάρκεια του IT PRO | DEV CONNECTIONS 2010 και ειδικότερα στην παρουσίαση του Γιώργου του Καπνιά αλλά και την δική μου είχα την ευκαιρία να κάνω μερικές ερωτήσεις ώστε αυτός που θα απαντήσει να πάρει κάποιο δώρο.

    Μία από αυτές τις ερωτήσεις που έκανα ήταν αν γνώριζε κανείς το codename του SQL Server 7. Επειδή δεν το γνώριζε κανείς αποφάσισα να φτιάξω αυτό το post ώστε να αναφέρω τα codenames όλων των εκδόσεων του SQL Server αλλά και διαφόρων επιμέρους τμημάτων του. Έτσι έχουμε την παρακάτω λίστα

     







    Έτος



    Codename



    Release




    1989



    -



    SQL Server 1.0 (16bit)




    1991



    -


    SQL Server 1.1 (16bit)




    1993



    SQLNT


    SQL Server 4.2


    The first version of Microsoft SQL Server that was designed for Windows NT




    1995



    SQL95



    SQL Server 6.0





     


    Starfighter



    SQL Server Enterprise Manager


    Management tool, included in SQL Server 6.0 - SQL Server 2000




    1996



    Hydra



    SQL Server 6.5




    1998



    Sphinx



    SQL Server 7.0




    1999



    Plato



    SQL Server 7.0 OLAP Services




    2000



    Shiloh



    SQL Server 2000 (32-bit)




    2003



    Liberty



    SQL Server 2000 (64-bit)




    2004



    Rosetta



    SQL Server Reporting Services




    2005



    Yukon



    SQL Server 2005




    2005



    Laguna



    SQL Server 2005 Mobile Edition




    2008



    Katmai



    SQL Server 2008




    2008



    Blue



    SQL Report Designer 2.0




    2010



    Kilimanjaro



    SQL Server 2008 R2




    ????


    Denali


    SQL Server ????
  13. antonch
    ALTER PROCEDURE, CONTINUE, IGNORE,money and smallmoney, AFTER, BEFORE,
    INDEXKEY_PROPERTY, CAST and CONVERT,
    GROUP BY, IDENTITY (Function), DEFERRED,
    BACKUP, nchar and nvarchar, COMPUTE,
    EXECUTE, UPDATE STATISTICS, INCLUDE,
    datetime and smalldatetime, ISNULL, ROUTINE,
    ROLLBACK TRANSACTION, IS_MEMBER, BETWEEN
     

    By Michael J. Swart  

    Source : http://michaeljswart.com/?tag=sql-poem
  14. antonch
    Όπως είναι γνωρίζουμε στον SQL Server υπάρχει μια διαδικασία η οποία σκοπό έχει να μεταφέρει από την Buffer Cache τις αλλαγμένες σελίδες στο δίσκο, γίνεται σε όλες τις βάσεις εκτός από την tempdb (αν και αυτό δεν είναι και τόσο αλήθεια αλλά δεν θα το αναλύσουμε εδώ). Σκοπός του είναι να είναι όσο το δυνατό πιο ενημερωμένα τα data files με τις αλλαγές είναι γραμμένες στο log.
    Αυτό μπορεί να γίνει είτε εκτελώντας την εντολή CHECKPOINT είτε το κάνει o SQL Server αυτόματα. Το αυτόματο μπορεί να ορίστει αν το επιθυμούμε και αυτό γίνεται ορίζοντας το Recovery Interval στο SQL Server. H default τιμή είναι μηδέν που σημαίνει ότι ο SQL Server αποφασίζει για το πότε θα την κάνει αυτή την διαδικασία.
    Πρόσφατα άκουσα ότι αυτή αν δεν ορίσεις τιμή γίνεται κάθε 2 sec. Αυτό με έβαλε σε σκέψεις και αποφάσισα να το ψάξω ενδελεχώς.
    Σύμφωνα με τα BOL http://msdn.microsoft.com/en-us/library/ms189573.aspx στην παράγραφο για τα Automatic Checkpoints αναφέρει

    The SQL Server Database Engine generates automatic checkpoints. The interval between automatic checkpoints is based on the amount of log space used and the time elapsed since the last checkpoint. The time interval between automatic checkpoints can be highly variable and long, if few modifications are made in the database. Automatic checkpoints can also occur frequently if lots of data is modified.

    Αυτό όμως δεν μου έφτασε και άρχισα να κοιτάζω περισσότερα. Έφτασα σε ένα σημείο να ρωτήσω και ανθρώπους που τον έχουν φτιάξει (δεν αναφέρω τα ονόματα τους για μην θεωρηθεί ότι πουλάω μούρη ότι μιλάω μαζί τους). Τελικά οι ερωτήσεις μου και οι αναζητήσεις μου είχαν αποτέλεσμα και ανακάλυψα ότι μπορείς να χρησιμοποιήσεις τα trace flags 3502 και 3605 τα οποία γράφουν μέσα στο error log το κάθε πότε γίνεται checkpoint.
    Επίσης είναι αρκετά εύκολο να το δεις κάνοντας monitor τον Buffer Manager\Checkpoint Pages per Sec perfmon counter.
    Με ποιά όμως λογική γίνεται trigger η αυτόματη διαδικασία? Η απάντηση δια στόματος του Paul Randal είναι η παρακάτω

    A checkpoint is triggered automatically under a variety of conditions. The most common condition is that enough transaction log has been generated that SQL Server estimates that if the server was to crash, it would take about one minute for crash recovery to complete. This is calculated based on the number of log records that have been generated since the last checkpoint and is known as the recovery interval. The next most common condition that triggers a checkpoint is when the log becomes 70% full.

    @antonch
  15. antonch
    Είναι γνωστή η τρέλλα μου να έχω το μέγιστο δυνατό user experience στα virtual machines μου. Περίμενα με αγωνία το RemoteFX το οποίο είναι άψογο. Αν παρόλα αυτά δεν έχετε το ReportFX να ένας απλός τρόπος να έχετε Aero σε αυτές όταν όμως συνδέεστε με Remote Desktop
    Βάλετε το Desktop Experience feature από τον Server Manager. Ενεργοποιήστε το themes service σε autostart, και ξεκινήστε το. Ενεργοποιήστε το “Allow desktop composition for remote desktop sessions” policy από το Edit Group Policy. Αυτό είναι στο path “ComputerConfiguration\AdministrativeTemplates\WindowsComponents\Remote Desktop Services\Remote Desktop Session Host\Remote Session Environment” Ορίστε το “Limit Maximum Color Depth” στο να παίρνει ότι έχει ο client. Αυτό ήταν έχετε Aero Theme
  16. antonch
    Με μια ανακοίνωση που ακολουθεί η Microsoft παρουσίασε τον Microsoft SQL Server ODBC Driver for Linux. Διαλειτουργικότητα σε όλο της το μεγαλείο.


    Greetings Developer community:
    We heard yesterday and today at the PASS conference about the exciting new areas that we are investing in bringing the power of SQL Server to our customers. Many of our developers who rely on native connectivity to SQL Server primarily use ODBC for their connectivity needs. We have been supporting ODBC as a part of the SQL Native Access Client (SNAC) libraries. In our continued commitment to interoperability, today we also announced that we will be releasing the Microsoft SQL Server ODBC Driver for Linux. We will be releasing first community technology preview (CTP) around mid-November and will be available along with SQL Server 2012 when it is released. Please look for announcement on our SQL Connectivity home page and SQL Server blog page.
    We will be showcasing Microsoft SQL Server ODBC Driver for Linux along with our Java and PHP solutions for SQL Server and Azure at PASS conference session “[AD-211-M] Developing Multi-Platform Applications for Microsoft SQL Server and Azure” on Thursday October 13th at 5:00PM at Washington State Convention Center Room #4C4. Also, if you have any questions or feedback on our multi-platform strategy as well as the entire gamut of support we provide to the application developers, I would encourage you to attend the PASS Panel Discussion with SQL Connectivity Leadership “[AD-101-M] SQL Connectivity Leadership Unplugged” on Friday, October 14, 2011, 2:30 PM - 3:45 PM at Washington State Convention Centre Room# 612 where I will be hosting a panel along with the rest of the leadership team that drives the strategy for our application platform.
    Thanks,
    Raghu Ram
    Principal Group Program Manager
    SQL Server
  17. antonch
    Σαν DBA και DB Developer έχω πολλούς servers/instances του SQL Server τα οποία διαχειρίζομαι. Φαντάζομαι ότι και εσείς θα έχετε αρκετά είναι production είτε development instances.
    Αρκετές φορές πάνω στην βιασύνη ίσως έχετε τρέξει κάποιο script στο production ενώ δεν θα έπρεπε. Συνήθως αυτό γίνεται διότι έχετε ανοίξει ένα query window το οποίο είναι συνδεδεμένο στο instance που δεν θα έπρεπε να είναι.
    Αυτό είναι ένα θέμα. Θέλω να ξέρω κάθε φορά σε ποιο instance είμαι συνδεδεμένος. Εύκολα αυτό είναι εντοπισμό αρκεί να κοιτάξει κανείς στην status bar του query window.
    Όμως εδώ και χρόνια έχω την δυνατότητα εκτός από αυτό να έχω και χρωματική διάκριση ανά instances πώς; Μα με ένα απλό τρόπο.
    Ανοίγω το Register Servers window και κάνω register τους servers/instances που επιθυμώ αλλά πριν πατήσω OK στο window πάω στο tab Connection Properties και διαλέγω το χρώμα που επιθυμώ για το συγκεκριμένο server/instance όπως στην παρακάτω εικόνα και τότε πατώ ΟΚ

    Αυτό θα έχει σαν συνέπεια όταν ανοίγω ένα query window που είναι συνδεδεμένο στο συγκεκριμένο server/instance η status bar θα έχει το χρώμα που έχω επιλέξει και έτσι εύκολα θα μπορώ να καταλάβω που έχω συνδεθεί.

    Έτσι πλέον δεν θα εκτελώ λάθος script σε λάθος server/instance
    /*antonch*/
    /*life runs on SQL Server 2012*/
  18. antonch
    Η δεύτερη συνέχεια για τα Reporting Services. Σε αυτή θα μιλήσουμε για Security, Execution/Processing, Subscriptions και Administration.
    Δεν υπάρχει κόστος για την παρακολούθηση (live από τον υπολογιστή σας) της παρουσίασης αυτής, αλλά είναι απαραίτητο να κάνετε εγγραφή εδώ. Οι θέσεις είναι περιορισμένες.
  19. antonch
    Όπως θα έχετε δει τον τελευταίο καιρό και συγκεκριμένα το τελευταίο μήνα ασχολούμαι συστηματικά με την αναμόρφωση του SqlSchool.gr.
    Αυτό ήταν κάτι το οποίο έπρεπε να γίνει εδώ και πολύ καιρό αλλά μια το ένα μια το άλλο δεν μου άφηναν τον χρόνο που χρειαζόμουν για το κάνω αυτό, βέβαια ούτε και τώρα τον είχα αλλά πήρα την απόφαση να το κάνω καθώς ήταν κάτι που δεν έπρεπε να μείνει στην παλαιότερη κατάσταση του.
    Στην αρχή κοίταξα μήπως και χρησιμοποιήσω κάποια έτοιμη πλατφόρμα και να γλυτώσω χρόνο όμως δεν μου άρεσε κάτι ιδιαίτερα και έτσι κάθισα και έφτιαξα μια δικιά μου που πρωτίστως να ικανοποιεί τις ανάγκες μου που ήταν και είναι αρκετές αλλά και δευτερευόντως ήθελα να έχω τον πλήρη έλεγχο σε αυτή σε επίπεδο κώδικα.
    Αυτό τον εγχείρημα ξεκίνησε πριν 40 ημέρες και καθημερινά από τις 9 το βράδυ μέχρι τις 3 τα ξημερώματα έγραφα κώδικα σαν τρελός. Πραγματικά ήταν κάτι το οποίο ευχαριστήθηκα καθώς είχα καιρό να γράψω κάτι τόσο μεγάλο, καθώς πλέον δεν γράφω κώδικα μιας και η καθημερινές μου αρμοδιότητες στο χώρο της εργασία μου είναι άλλες. Παρόλα αυτά όμως διαπίστωσα ότι τελικά είναι σαν το ποδήλατο και αυτό που έκανα τα τελευταία από το 1984 ερασιτεχνικά και από το 1988 επαγγελματικά μέχρι πριν 3-4 χρόνια δεν με έχει εγκαταλείψει.
    Για την υλοποίηση του site χρησιμοποίησα όλες τις πρόσφατες τεχνολογίες όπως .NET 4.0, CSS3, ASP.NET 4.0, WCF, AJAX, JQuery και πολλά ακόμα, όχι EF δεν χρησιμοποίησα. Δυστυχώς δεν μπόρεσα να χρησιμοποιήσω SQL Server 2012 καθώς ο hosting provider ακόμα δεν τον έχει εγκαταστήσει αλλά όμως θα γίνει σύντομα και αυτό! J. Όμως από τις ανάγκες μου στην υλοποίηση δημιούργησα κάποια καλά κομμάτια κώδικα σε T-SQL που θα μοιραστώ μαζί σας σύντομα.
    Ήθελα αυτό που θα φτιαχτεί να έχει μεγάλη διάρκεια ζωής ώστε να ασχοληθώ περισσότερο με το περιεχόμενο. Προσπάθησα να το φτιάξω έτσι ώστε να παίζει σε όλους τους νέους browsers χωρίς προβλήματα και από ότι φαίνεται αυτό έχει επιτευχθεί.
    Επίσης ένα ακόμα σημείο που ήθελα να προσέξω αρκετά και το πρόσεξα ήταν η εύρεση του site από τις μηχανές αναζήτησης. Ομολογώ ότι στο παρελθόν δεν είχα ασχοληθεί αρκετά με το Search Engine Optimization (SEO) αλλά τελικά πότε δεν είναι αργά. Εδώ και μερικές ημέρες βλέπω ότι οι προσπάθειες μου έχουν αποδώσει καρπούς και πλέον στις αναζητήσεις είναι το sqlschool.gr πάντα στην πρώτη σελίδα. Φυσικά χρειάζεται ακόμα δουλειά σε αυτό αλλά οι βάσεις έχουν μπει.
    Από τα πράγματα που ήθελα να κάνω από την αρχή ήταν το sqlschool.gr να αποτελέσει ένα πόλο για τον SQL Server. Για αυτό το λόγο πριν από λίγο έκανα migrate το blog μου από το wordpress στην πλατφόρμα που έφτιαξα για το sqlschool.gr. Πλέον όλα μου τα posts είναι στο sqlschool.gr και όλα τα νέα θα είναι σε αυτό. Για λίγο καιρό ακόμα θα υπάρχει το blog στο wordpress και θα ενημερώνω αυτό με τα νέα μου post απλά με τα links. Για το λόγο αυτό σχόλια παρατηρήσεις και αξιολογήσεις δεν θα φαίνονται στο wordpress αλλά αυτές θα πρέπει να γίνονται από εσάς στο sqlschool.gr. Έτσι θα είναι όλα σε ένα σημείο το οποίο νομίζω ότι καλύτερο για όλους.
    Αν θέλετε να ενημερώσετε τα bookmarks σας με το νέο blog δεν έχετε παρά να βάλετε το www.sqlschool.gr/blogs/antonch
    Φυσικά παρατηρήσεις, επιθυμίες και ότι άλλο θέλετε είναι ευπρόσδεκτες. Γνωρίζω ότι η πλατφόρμα μου έχω φτιάξει χρειάζεται και άλλα πράγματα και έχουν δρομολογηθεί αλλά σιγά σιγά.
    Σας ευχαριστώ για μια ακόμα φορά για την εμπιστοσύνη που μου δείχνετε.
    Φιλικά
    Αντώνης
  20. antonch
    Εδώ και αρκετό καιρό έχω γίνει αποδέκτης αρκετών ερωτήσεων σχετικά με τα σεμινάρια της Microsoft για τον SQL Server και συγκεκριμένα για τις εκδόσεις του 2012 & 2014. Οι ερωτήσεις αφορούν θέματα περιεχομένου και πιστοποίησης.
     
    http://www.sqlschool.gr/blog/what-you-must-know-about-official-training-and-certification-in-sql-server-2012-and-2014-1012.aspx
×
×
  • Create New...