Ο MSSQL έχει την "τάση" - με απλά λόγια είναι ένα feature - να κάνει βασική κωδικοσελίδα ταξινόμισης την βασική κωδικοσελίδα του μηχανήματος που φιλοξενείται. Μέχρι τον SQL 2000 αυτό ήταν καταστροφικό γιατί για να έχεις διαφορετική κωδισελίδα σε μια βάση, από αυτή που είχε επιλέξει ο MSSQL κατά την εγκαταστασή του - να κάνω ξεκάθαρο εδώ ότι δεν επιλέγει αυτόματα το setup, αλλά συνήθως δεν δίνει σημασία αυτός που κάνει την εγκατάσταση λόγω κεκτημένης ταχύτητας - θα έπρεπε να ξαναδημιουρήσεις τις βασικές βάσεις της εγκατάστασης στην κωδικοσελίδα που επιθυμούσες (Βλ microsoft support kb). Το ενοχλητικό πρόβλημα αυτό δεν υπάρχει στον MSSQL 2000 και νεώτερες εκδόσεις μιας και μπορεί κάθε βάση στο server να έχει δική της κωδικοσελίδα.
Προσωπικά δεν χρησιμοποιώ ποτέ nvarchar πεδία - συνήθως χρειάζομαι το μέγιστο μέγεθος του τύπου varchar - τους 8000 χαρακτήρες. Ακόμη να έχεις υπόψη ότι τα nvarchar πεδία σου διπλασιάζουν το μέγεθος των αλφαριθμιτικών πεδίων - για κάθε χαρακτήρα απαιτεί 2 bytes, αντί για ένα που απαιτεί το varchar.
Αυτό που κάνω σε hosted solutions, όταν μιλάμε για SQL 2000 και SQL 2005, με το που φτιάχνω την βάση, και πριν αρχίσω να τρέχω scripts με το schema, είναι να αλλάζω το collation της βάσης σε ελληνικό. Είμαι μια μοναδική εντολή, που μπορείς να βρεις περισσότερες πληροφορίες στο MSDN:
1 |
ALTER DATABASE MyDatabase COLLATE Greek_CI_AS |
George J.