- Trochę teorii lub co daje nam SQL?
- Od teorii do praktyki. Zainstaluj program SQL Server.
- Konfiguracja 1C Enterprise
Jednym ze sposobów na zwiększenie wydajności 1C Enterprises 7.7, zwłaszcza podczas pracy z dużymi bazami danych, jest przełączenie z trybu plików 1C na korzystanie z serwera SQL. Pomimo faktu, że oba produkty już kończą swój cykl życia, ten temat pozostaje dość istotny. W tym artykule przyjrzymy się praktycznej konfiguracji serwera dla 1C Enterprises w połączeniu z SQL Server 2000.
Trochę teorii lub co daje nam SQL?
Przed rozpoczęciem projektu konieczne jest opanowanie podstawowej ilości wiedzy i poznanie odpowiedzi na następujące pytania: jaka jest główna różnica między wariantem pliku i SQL operacji 1C Enterprise, co decyduje o szybkości w obu przypadkach i jakie są wymagania dotyczące sprzętu i sieci. Niezrozumienie tych ogólnie prostych rzeczy prowadzi do tego, że przejście na wersję SQL 1C nie przynosi pożądanych rezultatów lub, ogólnie rzecz biorąc, wynik jest odwrotny do oczekiwanego.
Rozważmy pracę 1C w trybie udostępniania plików. Przetwarzanie wszystkich informacji odbywa się na stacji roboczej, serwer pełni rolę współdzielonej pamięci plików. Główne wymagania dla takiego serwera to: szybka odporność dysku twardego i systemu dyskowego na błędy (zwykle RAID 1 jest zaimplementowany, rzadziej RAID 10). Zwykle taki „serwer” to zwykła maszyna budżetowa z kontrolerem RAID i gigabitową kartą sieciową.
Podczas wykonywania operacji (raport, przetwarzanie itp.) Część bazy danych lub nawet cała baza danych jest pobierana przez sieć do stacji roboczej, gdzie wszystkie niezbędne przetwarzanie danych jest już wykonywane. Co decyduje o szybkości w tym przypadku? Głównie z mocy stacji roboczej i przepustowości sieci, bardziej wydajna maszyna szybciej buduje raporty i wykonuje księgowania.
Innym ważnym parametrem jest wielkość bazy danych, z jej wzrostem powyżej pewnych limitów, prędkość zaczyna spadać wykładniczo. Przepustowość sieci staje się głównym wąskim gardłem, a liczba aktywnych użytkowników jest głównym czynnikiem wpływającym na szybkość i określającym krytyczny rozmiar bazy.
Nasze praktyczne doświadczenie pokazuje: dla małych grup roboczych (5-10 użytkowników) krytyczna wielkość bazy danych zaczyna się od 200-300 MB. Można z tym walczyć poprzez zwiększenie szybkości sieci i optymalizację przepływów ruchu w organizacji lub roczny (kwartalny) splot bazy danych.
Jednak splot nie jest opcją, dane przynajmniej na bieżący rok są niezbędne do normalnego działania przedsiębiorstwa komercyjnego, a dane z poprzednich okresów są również często potrzebne. Inwestycje w zwiększenie przepustowości sieci zazwyczaj nie są opłacalne, rozmiar bazy danych i ilość ruchu w sieci rośnie znacznie szybciej, zwłaszcza jeśli kierownictwo zdecyduje się nieznacznie rozszerzyć o 1-2 miejsca pracy.
Zobaczmy teraz, jak wygląda sytuacja w wersji SQL. Zamiast tabel wszystkie dane są przechowywane w jednej bazie danych SQL. Teraz stacja robocza przesyła krótkie żądania do serwera, które są całkowicie przetwarzane po stronie serwera, a ostateczny wynik żądania jest zwracany do stacji roboczej. Pozwala to czasami zmniejszyć ruch i jednocześnie zwiększa obciążenie serwera. Nie ma specjalnych wymagań dotyczących szybkości stacji roboczych, zwykła sieć 100 MB również będzie wystarczająca.
Chociaż należy pamiętać, że 1C Enterprise 7.7 dla SQL jest raczej nieoptymalny i nie korzysta z wielu funkcji serwera SQL, więc niektóre dane nie są przetwarzane przez serwer, ale przez stację roboczą, aw przypadku silnych raportów i przetwarzania prędkość stacji roboczej również będzie odgrywać znaczącą rolę. Główne obciążenie spada na serwer.
Częstym błędem jest używanie tego samego sprzętu, który jest używany jako serwer plików, jako serwer SQL. Można śmiało powiedzieć, że wynik będzie odwrotny do oczekiwanego. Jeśli jednocześnie pięciu użytkowników zacznie generować raporty, wszystkie te pięć raportów zostanie wygenerowanych przez serwer , dlatego zasoby obliczeniowe serwera powinny być wystarczające do jednoczesnego przetwarzania żądań od wszystkich użytkowników jednocześnie. Ilość pamięci RAM powinna być wystarczająca, aby całkowicie pomieścić bazę danych SQL, zaleca się również przeniesienie bazy danych na oddzielny dysk twardy (macierz dyskowa) z systemu i innych danych, aby uniknąć rywalizacji o dostęp do głowic dysku twardego.
Jeśli serwer SQL jest połączony z serwerem terminali na tej samej maszynie fizycznej, należy upewnić się, że jego zasoby są wystarczające do jednoczesnego przetwarzania żądań serwera SQL i aplikacji klienckich 1C, a ilość pamięci RAM jest wystarczająca zarówno dla serwera SQL, jak i aplikacji użytkownika. W każdym przypadku pożądane jest ograniczenie tylko 1C do terminala, inne aplikacje powinny pozostać na stacjach roboczych lub rozłożyć serwer terminali i serwer SQL na oddzielne maszyny. Niepożądane jest również łączenie wielu baz danych 1C na jednym serwerze SQL. Jak pokazuje praktyka, taniej jest kupić oddzielny serwer dla drugiej bazy niż kupić potężny serwer dla wszystkich baz jednocześnie.
Podsumujmy. Główne zalety SQL Server ujawniają się podczas pracy z dużymi bazami danych, a jednocześnie nie ma sensu tłumaczyć małych baz danych z małą liczbą użytkowników na SQL.
Od teorii do praktyki. Zainstaluj program SQL Server.
Instalacja MS SQL Server 2000 jest prosta i prosta, ale już na etapie instalacji konieczne jest określenie kilku parametrów innych niż domyślna instalacja, które są niezbędne do normalnego działania 1C. Platformą instalacyjną serwera będzie Windows Server 2003 SP2. Jeśli zainstalujesz wersję SQL serwera z dodatkiem Service Pack niższym niż SP3, to system wyświetli straszne ostrzeżenie, że zainstalowana wersja jest niekompatybilna z systemem, co można bezpiecznie zignorować, praktyka pokazała, że wszystko działa dobrze.
Ponadto podczas instalacji akceptujemy wszystkie wartości domyślne, dopóki nie osiągniemy ekranu Konta usług , tutaj ustawiamy przełącznik Użyj konta systemu lokalnego
Na następnym ekranie wybierz opcję Tryb mieszany i wprowadź hasło użytkownika sa , w imieniu którego połączymy się z bazą danych.
Pozostałe parametry są domyślnie pozostawione. Po zakończeniu instalacji należy zaktualizować serwer SQL do najnowszej wersji, instalując dodatek SP4 ( pobierz ). Instalacja dodatku SP4 jest dokonywana z wartościami domyślnymi, z wyjątkiem parametrów połączenia z serwerem, tutaj przenosimy przełącznik do najwyższej pozycji i wprowadzamy hasło dla sa .
Po zainstalowaniu dodatku SP4 należy zainstalować poprawkę KB899761 ( pobierz ) korygowanie powolnej pracy i niepełnego ładowania pamięci przez serwer SQL. Podczas instalowania poprawki należy także określić autoryzację za pomocą hasła z hasłem.
Konfiguracja 1C Enterprise
Teraz, gdy serwer SQL jest zainstalowany i gotowy do użycia, musisz skonfigurować 1C Enterprise. Przypomnijmy, że do pracy z serwerem SQL wymagana jest osobna wersja 1C dla SQL. Aby praca z serwerem SQL przebiegła pomyślnie, co najmniej jeden użytkownik musi zostać uruchomiony w bazie danych 1C. Następnie załaduj docelową bazę danych do konfiguratora i prześlij dane przez Administrację - Prześlij dane .
Następnie tworzymy puste miejsce dla przyszłej bazy danych, w tym celu skopiuj wszystkie foldery z działającej bazy danych i wszystkie pliki z wyjątkiem plików konfiguracyjnych i tabel (V7Plus, biblioteki do pracy ze sprzętem do handlu itp.) Do oddzielnego folderu.
Kolejnym krokiem jest stworzenie nowej bazy danych SQL do przechowywania naszych danych. Aby to zrobić, uruchom Enterprise Manager .
Rozwiń drzewo do poziomu Bazy danych i kliknij prawym przyciskiem myszy w oknie po prawej stronie wybierz Nowa baza danych .
Na pierwszej karcie okna, które zostanie otwarte, wprowadź nazwę tworzonej bazy danych, druga i trzecia zakładka określają ścieżki do przechowywania pliku bazy danych i pliku dziennika transakcji. Domyślnie mają być przechowywane w folderze instalacyjnym serwera SQL, jednak zaleca się przechowywanie ich w osobnym folderze obok bazy danych 1C (najlepiej na osobnym dysku twardym lub na osobnej partycji).
Po utworzeniu bazy łączymy folder z zasobem jako podstawę 1C i ładujemy Konfigurator. Na pytanie o wybór formatu przechowywania danych wskazujemy MS SQL Server , w Konfiguratorze wybierz Administracja - parametry bazy danych SQL i wypełnij pola.
Podajemy nazwę sieciową maszyny jako serwera, można ją znaleźć w SQL Server Service Manager , klikając ikonę na pasku zadań obok zegara. W polu Baza danych wprowadź nazwę bazy danych, która została określona podczas tworzenia w Enterprise Manager . Użytkownik sa , poniżej wprowadź swoje hasło.
Jeśli wszystkie dane zostaną wprowadzone poprawnie, 1C pomyślnie połączy się z bazą danych SQL, w przeciwnym razie otrzymamy komunikat o błędzie. Pozostaje teraz przesłać dane do bazy danych za pomocą elementu menu Administracja - ładuj dane i określić utworzony wcześniej plik przesyłania. System wyświetli kilka ostrzeżeń, zgódź się z nimi, klikając przycisk OK.
Jeśli wszystko zostało wykonane poprawnie, a początkowa baza danych nie zawierała błędów, powinniśmy otrzymać komunikat: Pobieranie zostało pomyślnie zakończone , teraz możemy załadować bazę danych i pracować z nią jak zwykle.
Jak widać, nie ma nic trudnego, a przy odpowiednich umiejętnościach cały proces zajmuje nie więcej niż godzinę, podczas gdy większość czasu przeznacza się na załadunek - rozładunek bazy.
Dodatkowe materiały:
- Kopie zapasowe baz danych MS SQL Server 2000
- Testowanie wydajności 1C Enterprise 7.7 w różnych trybach
Co decyduje o szybkości w tym przypadku?