Τιμές χρονισμού SQL Server ενδέχεται να είναι εσφαλμένο όταν χρησιμοποιείτε βοηθητικά προγράμματα ή τεχνολογίες που αλλάζουν CPU συχνότητες


Σύνοψη


Microsoft SQL Server 2005 χρησιμοποιεί μετρητή CPU υψηλής ανάλυσης για την παροχή δυνατοτήτων χρονισμού microsecond. Ένα μικροδευτερόλεπτο είναι το εκατομμυριοστό ενός δευτερολέπτου (ή το ένα χιλιοστό ενός χιλιοστού του δευτερολέπτου). Ωστόσο, τιμές χρονισμού SQL Server μπορεί να είναι εσφαλμένες, εάν χρησιμοποιείτε τεχνολογίες που αλλάζουν συχνότητες CPU. Για παράδειγμα, αυτό το ζήτημα ενδέχεται να προκύψει όταν χρησιμοποιείτε οποιαδήποτε από τις ακόλουθες τεχνολογίες:
  • CPU μελέτης βήμα προς βήμα
  • AMD Cool'n'Quiet τεχνολογία
  • Διάφορους συνδυασμούς τροφοδοσίας
Αυτό το άρθρο περιέχει μεθόδους και επιπλέον πληροφορίες που θα σας βοηθήσουν να αντιμετωπίσετε αυτό το ζήτημα.

Συμπτώματα


Όταν χρησιμοποιείτε την εντολή ΟΡΙΣΜΌΣ στατιστικά ΣΤΟΙΧΕΊΑ ΧΡΌΝΟΥ για να εμφανίσετε την εκτέλεση διακομιστή ανάλυσης και κατάρτιση φορές, ενδέχεται να μπορείτε να αποκτήσετε λανθασμένες τιμές. Για παράδειγμα, ενδέχεται να παρατηρήσετε ότι ο χρόνος που πέρασε ο χρόνος εκτέλεσης του SQL Server είναι πολύ περισσότερο από το χρόνο της CPU. Αυτό το ζήτημα ενδέχεται να επηρεάσει την ακρίβεια της ρύθμιση της απόδοσης. Αυτό το ζήτημα προκύπτει όταν χρησιμοποιείτε μία από τις τεχνολογίες που αναφέρονται στην ενότητα "Περίληψη" στο διακομιστή.

Αιτία


Αυτό το ζήτημα παρουσιάζεται επειδή αλλάζουν συχνότητες CPU όταν χρησιμοποιείτε αυτές τις τεχνολογίες. SQL Server 2005 χρησιμοποιεί μετρητή CPU υψηλής ανάλυσης για την παροχή δυνατοτήτων χρονισμού microsecond. Εάν αλλάξουν οι συχνότητες CPU για την εξοικονόμηση ενέργειας και μείωση θερμική ισχύ, υπολογιζόμενο διάρκειες μπορεί να είναι σωστές.

Προτεινόμενη αντιμετώπιση


Πληροφορίες πακέτου υπηρεσιών

Για να επιλύσετε αυτό το ζήτημα, αποκτήστε το πιο πρόσφατο service pack του SQL Server 2005. Για περισσότερες πληροφορίες, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
913089 Τρόπος λήψης του τελευταίου service pack για τον SQL Server 2005
Σημείωση Στο SQL Server 2005 Service Pack 3 και σε μελλοντικά service pack, δεν χρησιμοποιείται η σήμανση χρόνου επεξεργαστή. Αυτές οι εκδόσεις του SQL Server 2005 χρησιμοποιεί μια πιο αξιόπιστη χρονομέτρου που έχει μια μέγιστη ακρίβεια 1 χιλιοστό του δευτερολέπτου.

Κατάσταση


Το ζήτημα αυτό διορθώθηκε αρχικά στο SQL Server 2005 Service Pack 3.

Εναλλακτικός τρόπος αντιμετώπισης


SQL Server 2005 απαιτεί σημείων δεδομένων γνωστή και σταθερά να εκτελέσετε ρύθμιση ακρίβειας. Εάν είναι ενεργοποιημένες οι δυναμικές τροποποιήσεις συχνότητα CPU στον υπολογιστή, μπορείτε να τα απενεργοποιήσετε έτσι ώστε η CPU να διατηρήσετε μια σταθερή συχνότητα πριν ξεκινήσετε την εποπτεία και το συντονισμό των επιδόσεων του SQL Server. Για να γίνει αυτό, χρησιμοποιήστε τις ακόλουθες μεθόδους.

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

Για να το κάνετε αυτό, ακολουθήστε τα εξής βήματα:
  1. Κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε Powercfg.cplκαι, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  2. Στο παράθυρο διαλόγου Ιδιότητες: Επιλογές ενέργειας , κάντε κλικ στην επιλογή Πάντα σε στη λίστα Συνδυασμοί τροφοδοσίας .
  3. Κάντε κλικ στο κουμπί OK.
Ενδέχεται να προκύψει μια μετατόπιση. Μια μετατόπιση είναι μια απόκλιση μεταξύ τιμών συχνότητα CPU. Για περισσότερες πληροφορίες, ανατρέξτε στην ενότητα "Μετατόπιση". Στην περίπτωση αυτή, πρέπει να κάνετε επανεκκίνηση των Microsoft Windows, για να συγχρονίσετε ξανά όλες οι CPU συχνότητες μετά την αλλαγή του συνδυασμού τροφοδοσίας.

Εάν δεν μπορείτε να ξεκινήσετε τον υπολογιστή, ενεργοποιήστε συσχέτισης επεξεργαστή SQL Server για να εμποδίσετε την μετακίνηση μεταξύ CPU νημάτων εργασίας του SQL Server. Όταν το κάνετε αυτό, δεν χρειάζεται να κάνετε επανεκκίνηση του υπολογιστή, ακόμα και αν παρουσιάζεται μια απόκλιση μεταξύ τιμών συχνότητα CPU. Για να ενεργοποιήσετε το SQL Server συσχέτιση επεξεργαστή για όλες οι CPU στο διακομιστή, πρέπει να χρησιμοποιήσετε μια διαφορετική μάσκα, ανάλογα με τον αριθμό των λογικών επεξεργαστές που βρίσκονται στον διακομιστή.

Ο παρακάτω πίνακας παραθέτει παραδείγματα σεναρίων.
Αριθμός CPUΟι προτάσεις για την ενεργοποίηση της συσχέτισης επεξεργαστή
02 CPUsp_configure Exec 'μάσκας συσχέτισης', 0x00000003
ΜΕΤΆΒΑΣΗ
Ρυθμίστε ξανά τις παραμέτρους
ΜΕΤΆΒΑΣΗ
04 CPUsp_configure Exec 'μάσκας συσχέτισης', 0x0000000F
ΜΕΤΆΒΑΣΗ
Ρυθμίστε ξανά τις παραμέτρους
ΜΕΤΆΒΑΣΗ
08 CPUsp_configure Exec 'μάσκας συσχέτισης', 0x000000FF
ΜΕΤΆΒΑΣΗ
Ρυθμίστε ξανά τις παραμέτρους
ΜΕΤΆΒΑΣΗ
16 CPUsp_configure Exec 'μάσκας συσχέτισης', 0x0000FFFF
ΜΕΤΆΒΑΣΗ
Ρυθμίστε ξανά τις παραμέτρους
ΜΕΤΆΒΑΣΗ
32 επεξεργαστέςsp_configure Exec 'μάσκας συσχέτισης', 0xFFFFFFFF
ΜΕΤΆΒΑΣΗ
Ρυθμίστε ξανά τις παραμέτρους
ΜΕΤΆΒΑΣΗ
Σημείωση Μπορεί να είναι ανεπαρκής για να απενεργοποιήσετε δυνατότητες παραλλαγής συχνότητα CPU σε επίπεδο BIOS. Διάφορα βοηθητικά προγράμματα τρίτων κατασκευαστών μπορούν να αλλάξουν τις συχνότητες CPU. Ορισμένες εφαρμογές επιτρέπουν ρυθμίσεις συχνότητας ακόμη και όταν οι CPU που βρίσκονται κάτω από το ρυθμίσεις συνδυασμού μέγιστης ισχύος. Στην περίπτωση αυτή, πρέπει να απενεργοποιήσετε αυτά τα βοηθητικά προγράμματα τρίτων κατασκευαστών κατά την εκτέλεση των επιδόσεων του SQL Server 2005.

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

Σε σπάνιες περιπτώσεις, ένα σύστημα μπορεί να απαιτεί μια ενημερωμένη έκδοση από τον κατασκευαστή για τη διόρθωση ζητημάτων συχνότητα CPU. Είναι καλύτερη πρακτική για να ελέγξετε το σύστημα για τις τελευταίες ενημερωμένες εκδόσεις BIOS, μικροκώδικα και υλικολογισμικό, εάν υποψιάζεστε ότι το σύστημα ενδέχεται να υπάρχει κάποιο ζήτημα.

Περισσότερες πληροφορίες


Microsoft SQL Server 2000 και παλαιότερες εκδόσεις του SQL Server χρησιμοποιούν οι μηχανισμοί χρονισμό των Windows. Οι μηχανισμοί χρονισμού χρησιμοποιούν τιμές ακρίβειας χιλιοστών του δευτερολέπτου. Συνήθως, αυτή η ακρίβεια είναι 10 έως 15 Δις, ωστόσο, η ακρίβεια που μπορεί να είναι μεγαλύτερο από 55 ms. Ερωτημάτων SQL Server συχνά ολοκληρώθηκε εντός μονοψήφιες χιλιοστό του δευτερολέπτου ή εκτείνεται σε χρόνο microsecond. Αυτή η ακρίβεια απαιτεί ένα χρονόμετρο υψηλής ανάλυσης. Επομένως, αυτές οι εκδόσεις του SQL Server έκθεση της διάρκειας της ορισμένα ερωτήματα ως 0 κ. Επομένως, είναι δύσκολο να εποπτεύετε τις επιδόσεις και τη βελτιστοποίηση των επιδόσεων του SQL Server σε παλαιότερες εκδόσεις του SQL Server.

SQL Server 2005 βελτιώνει την ακρίβεια με τη βοήθεια μετρητή CPU υψηλής ανάλυσης για την παροχή δυνατοτήτων χρονισμού microsecond. Όταν χρησιμοποιείτε τις τεχνολογίες που αναφέρονται στην ενότητα "Περίληψη", οι τιμές αναφερόμενο χρονισμού ενδέχεται να είναι εσφαλμένη.

Αυτό το ζήτημα μπορεί να επηρεάσει τα παρακάτω αντικείμενα και δυνατότητες:
  • Τα συμβάντα ανίχνευσης:
    • Το συμβάν προσοχή
    • Συμβάντα στον κόμβο αποθηκευμένες διαδικασίες
    • Συμβάντα στον κόμβο TSQL
    • Συμβάντα στον κόμβο αντικείμενα
    • Συμβάντα στον κόμβο συναλλαγές
  • Δυναμική Διαχείριση προβολών:
    • sys.dm_exec_query_stats
    • sys.dm_exec_requests
    • sys.dm_exec_sessions
    • sys.dm_io_pending_io_requests

    • sys.dm_os_ring_buffers
    • sys.dm_os_sys_info
    • sys.dm_io_virtual_file_stats
    • sys.dm_os_wait_stats
  • Η δήλωση του ΧΡΌΝΟΥ που στατιστικά ΣΤΟΙΧΕΊΑ
  • Ο πίνακας του συστήματος sysprocesses
Μετά την εγκατάσταση του SQL Server 2005 Service Pack 2 (SP2), το SQL Server καταγράφει ένα μήνυμα λάθους στο αρχείο καταγραφής σφαλμάτων όταν SQL Server εντοπίσει ότι οι χρονιστές υψηλής ανάλυσης δεν είναι συγχρονισμένα μεταξύ της CPU. Το μήνυμα λάθους δηλώνει ότι χρονισμούς επιδόσεων ενδέχεται να μην είναι ακριβείς, και οι χρήστες πρέπει να χρησιμοποιούν δεδομένα επιδόσεων με προσοχή.

Το κείμενο του μηνύματος λάθους παρόμοιο με ένα από τα ακόλουθα μηνύματα λάθους:
Μήνυμα σφάλματος 1
Ο μετρητής σφραγίδα χρόνου της CPU στο χρονοδιάγραμμα αναγνωριστικό 2 δεν έχει συγχρονιστεί με άλλα CPU.
Μήνυμα σφάλματος 2
Συχνότητα σφραγίδα χρόνου CPU έχει αλλάξει από 191469 σε 1794177 κτύπων ανά χιλιοστό του δευτερολέπτου. Θα χρησιμοποιηθεί η νέα συχνότητα
Ο SQL Server χρησιμοποιεί την οδηγία μετρητή σφραγίδα πραγματικού χρόνου (RDTSC) για να αποκτήσετε το πλήθος υποδιαιρέσεων χρονομέτρησης της CPU 64-bit. Μπορείτε να διαιρέσετε αυτήν την τιμή από τη συχνότητα της CPU για να μετατρέψετε την τιμή σε τιμές χιλιοστών του δευτερολέπτου. Παραλλαγές χρονισμού μπορεί να προκύψει, όταν προκύπτει το CPU συχνότητα αλλαγών ή μετατόπιση.

CPU μελέτης βήμα προς βήμα

CPU stepping ορίζεται ως σκόπιμη αλλαγή συχνότητα CPU. CPU μελέτης βήμα προς βήμα μπορεί επίσης να είναι γνωστό ως τεχνολογία Intel SpeedStep ή AMD PowerNow! τεχνολογία. Όταν CPU stepping προκύπτει, η ταχύτητα της CPU ενδέχεται να αυξηθεί ή να μειωθεί προσαυξήσεις όσο 50 MHz για την εξοικονόμηση ενέργειας και μείωση θερμική ισχύ. CPU που βρίσκονται στο ίδιο κόμβο μνήμη μη ομοιόμορφη πρόσβαση (NUMA) να μην γίνει προσαρμογή ανεξάρτητα συχνότητες.

Ο ακόλουθος πίνακας παρουσιάζει πώς CPU stepping αλλαγές μπορεί να επηρεάσουν χρονισμού υπολογισμούς.
ΕνέργειαΥποδιαιρέσεις RDTSCΚτύπων ανά χιλιοστό του δευτερολέπτου (συχνότητα)Ώρα ρολογιού τοίχου
Έναρξη δέσμης12000
Συχνότητα βήμα προς τα κάτω2001001ms
Τέλος δέσμης5003ms
ΣΥΓΚΕΝΤΡΩΤΙΚΆ ΣΤΟΙΧΕΊΑ5004ms
SQL Server καταγράφει τις υποδιαιρέσεις RDTSC κατά την αρχή και το τέλος υποδιαιρέσεις RDTSC. Στη συνέχεια, SQL Server χωρίζει τις υποδιαιρέσεις από την τιμή της συχνότητας.

Σε αυτό το παράδειγμα, οι ακόλουθοι υπολογισμοί χρονισμού παρουσιάζονται όταν χρησιμοποιείτε μια τιμή συχνότητας 200 ή 100:
  • Συχνότητα 200: 500/200 = 2.5 ms
  • Συχνότητα 100: 500/100 = 5 ms
Κανένας από τους υπολογισμούς χρονισμού συμφωνεί με το χρόνο ρολόι πραγματικού τοίχου 4 ms.

Εάν ο υπολογισμός αυτός χρησιμοποιείται σε μια RPC: ολοκληρώθηκε έχουν αναφερθεί εσφαλμένα στήλες δεδομένων ανίχνευσης συμβάντων, τη διάρκεια και την ώρα λήξης . Το RPC: ολοκληρώθηκε συμβάντων καταγράφει την ώρα της έναρξης ρολογιού τοίχου και CPU υποδιαίρεσης count. Για να αποκτήσετε την υψηλότερη ανάλυση χρονισμού από τα Windows δίνουν σε SQL Server 2005, τη διάρκεια και την ώρα λήξης στήλες δεδομένων σε ένα διακομιστή SQL ανίχνευσης υπολογίζεται χρησιμοποιώντας το που πέρασαν πλήθος υποδιαιρέσεων χρονομέτρησης της CPU. Η στήλη ώρα λήξης υπολογίζεται προσθέτοντας η στήλη duration στη στήλη ώρα έναρξης . Σε αυτό το παράδειγμα, η στήλη ώρα λήξης υπολογίζεται προσθέτοντας εσφαλμένα 2.5 ms ή 5 ms για την ώρα έναρξης.

Η μετατόπιση του

Η μετατόπιση είναι μια απόκλιση τιμών ρολογιού CPU. Τα συστήματα που έχουν πολλές CPU μπορεί να παράγει διαφορετικές τιμές ρολογιού CPU για το ίδιο σημείο στο χρόνο. Παρόλο που δεν είναι κοινό, CPU ενδέχεται να αντιμετωπίσετε διαχωρισμού ρολόι με τον καιρό.

Το παρακάτω παράδειγμα επιδεικνύει τον τρόπο παρασυρόμενα αλλαγές μπορούν να επηρεάσουν το αποτέλεσμα της στήλης δεδομένων διάρκειας στη διάρκεια μιας παρακολούθησης του SQL Server. Το παράδειγμα αυτό θεωρεί ότι η συχνότητα CPU παραμένει σταθερή κατά 200 κτύπων ανά χιλιοστό του δευτερολέπτου. Ο ακόλουθος πίνακας παρουσιάζει τα συμβάντα σε αυτό το σενάριο.
ΕνέργειαΠρογραμματισμένη CPU των WindowsRDTSC CPU 1RDTSC CPU 2Ώρα ρολογιού τοίχου
Έναρξη δέσμης110011000
Τέλος δέσμης290019004 ms
ΣΥΓΚΕΝΤΡΩΤΙΚΆ ΣΤΟΙΧΕΊΑ4 ms
SQL Server καταγράφει τις υποδιαιρέσεις RDTSC και τα σημεία έναρξης και τα τελικά σημεία. Στη συνέχεια, SQL Server χωρίζει τις υποδιαιρέσεις RDTSC επί την τιμή συχνότητας. Σε αυτό το παράδειγμα, τα Windows προγραμματισμένη το νήμα διαδικασίας εργασίας SQL Server σε δύο διαφορετικούς επεξεργαστές. Το νήμα διαδικασίας εργασίας διακομιστή SQL που εξυπηρετεί τη δέσμη εκτελέσατε αρχικά τον πρώτο επεξεργαστή (CPU 1).

Ωστόσο, διακόπηκε η εκτέλεση δέσμης σε κάποιο σημείο και SQL Server αποστέλλονται την εκτέλεση δέσμης στην ουρά σε εκκρεμότητα. Όταν το νήμα διαδικασίας εργασίας διακομιστή SQL που εξυπηρετεί αυτή τη δέσμη στην ουρά εκτελέσιμες ξανά αποστολή του SQL Server, Windows αποσταλεί το νήμα για την εκτέλεση στον δεύτερο Επεξεργαστή (CPU 2). Το νήμα διαδικασίας εργασίας SQL Server ολοκληρωθεί εκτελούνται σε CPU 2. Επειδή η μετατόπιση του CPU, η τελική τιμή υποδιαίρεσης που καταγράφηκαν από CPU 2 ήταν 1900 αντί για 900. Μπορείτε να αποφύγετε αυτήν τη συμπεριφορά, εάν ενεργοποιήσετε συσχέτισης επεξεργαστή του SQL Server.

Σε αυτό το παράδειγμα χρησιμοποιούνται οι ακόλουθοι υπολογισμοί χρονισμού:
  • Την εσφαλμένη αλλά αναφέρει τιμή: (1900 – 100 = 1800) / 200 = 9 ms
  • Διόρθωση τιμής: (900 – 100 = 800) / 200 = 4 ms
Η τιμή της στήλης διάρκεια για το RPC: ολοκληρώθηκε συμβάντων θα αναφερθούν ως 9 ms αντί 4 ms. Αυτό το αποτέλεσμα είναι διπλό υπερβαίνει τη σωστή τιμή 4 ms.

Η μετατόπιση του προειδοποιητικά μηνύματα προστίθενται σε SQL Server 2005 για να υποδείξετε ότι η απόδοση εξόδων που αναφέρονται παραπάνω ενδέχεται να μην είναι αξιόπιστη. Σε ορισμένες περιπτώσεις ακάλυπτο, SQL Server 2005 SP2 ενδέχεται να αναφέρουν μηνύματα προειδοποίησης σχετικά με τα εξής:
  • Η μετατόπιση του FALSE προειδοποιητικά μηνύματα
  • Η μετατόπιση του μπορεί να γίνει δεκάδες χιλιοστά του δευτερολέπτου, χωρίς να προκαλεί ένα εφέ αισθητή συστήματος
Πρέπει να είστε προσεκτικοί όταν υπολογίζετε τις εκροές που αφορούν τις επιδόσεις και όταν συγκρίνετε το εξόδων που αφορούν τις επιδόσεις για χρονισμούς τοίχου. Εάν δεν υπάρχει κανένα σύμπτωμα άλλα προβλήματα απόδοσης, μπορείτε να αγνοήσετε συνήθως τα παρασυρόμενα προειδοποιητικά μηνύματα. Για παράδειγμα, συνήθως μπορείτε να αγνοήσετε τα προειδοποιητικά μηνύματα παρασυρόμενα στις ακόλουθες περιπτώσεις:
  • Διεργασίες που εκτελούνται όπως αναμένεται.
  • Ερωτημάτων SQL Server δεν εκτελείται σε ασυνήθιστη durational μοτίβα.
  • Δεν εμφανίζονται ενδείξεις άλλες συνωστισμού.
Ωστόσο, πριν να αγνοήσετε τη μετατόπιση του προειδοποίηση μηνύματα, σας συνιστούμε να επικοινωνήσετε με τον κατασκευαστή σας για να βεβαιωθείτε ότι δεν υπάρχουν γνωστά θέματα RDTSC υπάρχει.

Μπορείτε να χρησιμοποιήσετε τη σημαία παρακολούθησης 8033 (-T8033) για να επιστρέψετε στην συμπεριφορά αναφοράς στην αρχική επίσημη έκδοση του SQL Server 2005 και SQL Server 2005 SP1. Η αρχική έκδοση του SQL Server 2005 και SQL Server 2005 SP1 δεν αναφέρουν παρασυρόμενα προειδοποιητικά μηνύματα. Εάν εκτελείτε την αρχική έκδοση του SQL Server 2005 ή του SQL Server 2005 SP1 χωρίς προβλήματα, μπορείτε συνήθως να παραβλέψετε τα μηνύματα.

Γιατί η πρόταση WAITFOR ΚΑΘΥΣΤΈΡΗΣΗ λειτουργεί σωστά; Τι γίνεται με τις διαδικασίες του περιοδικού συστήματος;

Μηχανισμοί χρονικού ορίου δεν επηρεάζονται από τη σχεδίαση υψηλής ανάλυσης. SQL Server δεν χρησιμοποιεί το χρονόμετρο υψηλής ανάλυσης για τις δραστηριότητες με βάση το χρονόμετρο. Ορισμένες δραστηριότητες χρονικού ορίου βασίζονται στο χρονόμετρο μειωμένο ανάλυση που χρησιμοποιεί τη συνάρτηση GetTickCount . Οι δραστηριότητες αυτές χρονικού ορίου περιλαμβάνουν χρονικό όριο κλειδώματος, η πρόταση WAITFOR ΚΑΘΥΣΤΈΡΗΣΗ και εντοπισμός αδιεξόδου.
Για περισσότερες πληροφορίες, κάντε κλικ στους αριθμούς των άρθρων παρακάτω, για να προβάλετε τα άρθρα της Γνωσιακής Βάσης της Microsoft:

938448 διακομιστή με A Windows Server 2003 ενδέχεται να αντιμετωπίσετε μετατόπιση του μετρητή χρονική σήμανση, εάν ο διακομιστής χρησιμοποιεί επεξεργαστές AMD Opteron διπλού πυρήνα ή πολλαπλών επεξεργαστών AMD Opteron επεξεργαστές

895980 τα προγράμματα που χρησιμοποιούν τη συνάρτηση QueryPerformanceCounter ενδέχεται να λειτουργεί σωστά στον Windows Server 2003 και στα Windows XP

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