| Termin | Definicja |
|---|---|
| Windows Server – ustawienia regionalne | Ustawienia regionalne Windows Server wpływają na domyślną kolację nowo instalowanej instancji SQL Server. Jak ustawienia regionalne Windows Server wpływają na instalację SQL ServerUstawienia regionalne systemu Windows Server są jednym z czynników wykorzystywanych podczas instalowania instancji Microsoft SQL Server. Jeżeli administrator nie wskaże własnej kolacji w programie instalacyjnym, SQL Server może dobrać kolację domyślną na podstawie ustawień regionalnych i systemowego ustawienia języka dla programów nieobsługujących kodu Unicode. W praktyce oznacza to, że dwa serwery z taką samą wersją SQL Server, ale przygotowane z inną konfiguracją regionalną Windows, mogą otrzymać różne kolacje instancji. Kolacja SQL Server określa między innymi sposób sortowania i porównywania tekstu, rozróżnianie wielkości liter, rozróżnianie znaków diakrytycznych oraz — w przypadku kolacji używających stron kodowych — zestaw znaków dostępnych dla danych typu System locale, format daty i kolacja to różne ustawieniaPanel ustawień regionalnych Windows Server zawiera kilka odrębnych obszarów. Format regionalny steruje prezentacją dat, godzin, liczb i walut, natomiast ustawienie systemowe dla programów nieobsługujących kodu Unicode wpływa na wybór strony kodowej używanej przez starsze aplikacje. Osobno można ustawić język interfejsu systemu, język preferowany użytkownika oraz lokalizację urządzenia. Zmiana formatu wyświetlania daty z jednego kraju na inny nie oznacza automatycznej zmiany kolacji już zainstalowanej instancji SQL Server. Przed instalacją warto sprawdzić rzeczywistą konfigurację systemową, a nie tylko ustawienia aktywnego konta administratora. W środowisku Windows można wykorzystać polecenie PowerShell Najbezpieczniejszym rozwiązaniem w środowisku produkcyjnym jest jawne wskazanie wymaganej kolacji w instalatorze SQL Server zamiast polegania na wartości wykrytej automatycznie. Administrator powinien wcześniej ustalić, czy aplikacja wymaga kolacji zgodnej z językiem polskim, czy z istniejącym środowiskiem, a także czy potrzebne są właściwości takie jak case-insensitive, case-sensitive, accent-sensitive lub accent-insensitive. Sama nazwa języka systemu nie opisuje wszystkich tych cech. Skutki wybranej kolacji dla baz, zapytań i tempdbKolacja instancji jest ustawiana podczas instalacji SQL Server i staje się domyślną kolacją dla baz tworzonych bez jawnie określonej wartości. Dotyczy także baz systemowych tworzonych lub używanych przez instancję, w tym Różnice kolacji mogą ujawnić się przy łączeniu tabel z różnych baz, porównywaniu kolumn, sortowaniu wyników oraz wykonywaniu operacji na tabelach tymczasowych. SQL Server może wtedy zgłosić konflikt kolacji, gdy obie strony wyrażenia tekstowego mają niezgodne reguły. W innych przypadkach zastosuje reguły wynikające z priorytetu kolacji, co może zmienić rezultat porównania albo kolejność sortowania. Szczególne znaczenie ma Zmiana ustawień regionalnych Windows po instalacji SQL Server nie przelicza automatycznie kolacji instancji, baz ani istniejących kolumn. Informację o kolacji instancji można sprawdzić w SQL Server, odczytując właściwość Kontrola konfiguracji przed wdrożeniem serweraPrzed instalacją SQL Server należy zapisać oczekiwane ustawienia regionalne Windows Server oraz wymaganą kolację wynikającą z dokumentacji aplikacji. Po instalacji trzeba porównać wartość kolacji instancji z założeniem projektowym i sprawdzić kolacje baz systemowych oraz baz aplikacyjnych. Warto również przetestować sortowanie polskich znaków, porównania tekstów różniących się wielkością liter oraz zachowanie znaków diakrytycznych. Test powinien obejmować rzeczywiste typy kolumn używane przez aplikację, ponieważ zachowanie danych Unicode i danych opartych na stronie kodowej może być różne. W przypadku istniejącego serwera analiza powinna rozpocząć się od odczytu ustawień Windows, kolacji instancji, kolacji baz i kolacji kolumn uczestniczących w problematycznych zapytaniach. Należy oddzielić problem prezentacji daty lub liczb w aplikacji od problemu sortowania i porównywania danych w SQL Server. Jeżeli błąd pojawia się tylko podczas pracy z tabelą tymczasową, trzeba sprawdzić również relację między kolacją Diagnostyka serwera powinna kończyć się dokumentacją wartości zastanych, wartości wymaganych oraz zakresu ewentualnej korekty. Przed zmianą kolacji trzeba uwzględnić indeksy, klucze unikalne, procedury składowane, widoki, zadania oraz integracje, które wykonują operacje tekstowe. Każda konwersja danych powinna być poprzedzona kopią zapasową i testem na środowisku odtworzeniowym. Dzięki temu ustawienia regionalne Windows Server są traktowane jako element procesu instalacyjnego SQL Server, a nie jako przypadkowa opcja interfejsu. |