Konsole zur Verwaltung von 1C-Unternehmensservern. Verwaltung von 1C Enterprise-Servern. Fehler beim Ausführen einer Operation mit der Infobase

Hallo liebe Leser.

Heute sprechen wir über Fonds Serververwaltung 1C:Enterprise.

1C:Enterprise unterstützt Folgendes:
Client-Server-Version der Arbeit
Dateiversion der Arbeit

Beim Arbeiten im Client-Server-Modus wird eine dreistufige Architektur unter Verwendung eines Clusters von 1C:Enterprise-Servern verwendet, über die die Kommunikation zwischen dem Client-Teil von 1C:Enterprise und dem DBMS erfolgt.

Server 1C verfügt über keine eigene Benutzeroberfläche; zur Steuerung können verschiedene Tools verwendet werden; betrachten wir den Standard Dienstprogramm zur Client-Server-Verwaltung, es kann unter installiert werden.

Dienstprogramm Serververwaltung 1C:Enterprise oder 1C-Serverkonsole

Die Hauptaufgaben der 1C-Serverkonsole:

  • Produktionsserver erstellen, löschen und ändern;
  • Erstellung von Administratoren;
  • Erstellen und Löschen von Cluster-Worker-Prozessen;
  • Informationssicherheit erstellen und löschen
  • Zwangsbeendigung der Sitzung;
  • Neue Verbindungen blockieren.

Betrachten wir kurz die Hauptpunkte der Verwaltungskonsole des 1C-Servers:

Erstellen Sie einen zentralen 1C-Server

Zu Fügen Sie einen neuen zentralen Server hinzu 1C:Enterprise 8.2 verwenden wir das Kontextmenü, indem wir zunächst die Zeile „Zentrale 1C-Server“ markieren

Es erscheint ein Fenster, in dem Sie den Namen des 1C-Servers oder seine IP-Adresse eingeben müssen.

Erstellung von 1C-Serveradministratoren

IN Zweigstellenadministratoren Serveradministratoren werden hinzugefügt. Administratoren haben nur das Recht, ihren eigenen Server zu verwalten; Sie müssen kein Administrator sein, um einen Cluster zu verwalten. Wenn kein Administrator hinzugefügt wurde, kann jeder, der sich anmeldet, den Server verwalten.

Erstellen von 1C-Cluster-Workflows

Funktionierende Server Hier werden Arbeitsprozesse hinzugefügt und entfernt, sodass Sie die Leistung von Benutzersitzungen beeinflussen können, indem Sie sie auf Arbeitsprozesse verteilen.

Wenn Sie sich die Prozesseigenschaften ansehen, sehen Sie Folgendes:
Leistung: Es wird eine Zahl bis zu 1000 angezeigt, der Standardwert ist 1000. Neue Sitzungen werden an den Prozess mit der maximalen Leistung angehängt und alle N Minuten überprüft das System selbst die tatsächliche Prozessorlast und ordnet die Leistungszahl neu.
Eigenschaft aktiviert: Hier wird die Aktivität des Prozesses überwacht und kann folgende Werte annehmen: Verwenden, nicht verwenden, als Backup verwenden

Informationssicherheit erstellen und löschen

Im Thread Informationsbasen Wenn verbundene Datenbanken sichtbar sind, ist es möglich, eine Datenbank zu löschen oder eine neue zu erstellen.
Wenn wir uns die Eigenschaften der Datenbank ansehen, sehen wir Folgendes:

Die Blockierung des Sitzungsstarts ist aktiviert– verbietet die Verbindung zu dieser Datenbank.
Nachricht– wird ausgegeben, wenn versucht wird, beizutreten, während man blockiert ist.
Berechtigungscode– Ermöglicht die Herstellung einer Verbindung, wenn Verbindungen blockiert sind.

Beenden einer 1C-Benutzersitzung

Allgemein Sitzungszweig Sie können die Liste der Sitzungen für den gesamten Cluster anzeigen. Um Sitzungen für eine separate Infobase anzuzeigen, müssen Sie die gewünschte Informationssicherheit auswählen und deren Sitzungen anzeigen.


In den meisten Fällen reicht es für die Installation von 1C:Enterprise 8.x in der Client-Server-Version aus, das 1C:Enterprise 8.x-Installationsprogramm auszuführen. In diesem Fall erhält der 1C:Enterprise-Server Standardparameterwerte, die für seinen normalen Betrieb erforderlich sind.

Schauen wir uns die Installation des 1C:Enterprise-Servers genauer an. Während der Installation des 1C:Enterprise 8.x-Servers führt das 1C:Enterprise 8.x-Installationsprogramm die folgenden Aktionen aus:

* Kopiert die Bootmodule des 1C:Enterprise-Servers in das Verzeichnis, das vom 1C:Enterprise-Installationsprogramm als endgültiger Ordner angegeben wurde.
* Wenn während der Installation „Benutzer USR1CV81 erstellen“ ausgewählt wird, wird der Benutzer USR1CV81 erstellt. Der 1C:Enterprise 8.1-Server läuft im Namen dieses Benutzers, wenn er als Dienst gestartet wird. Er hat nur Zugriff auf die Ressourcen, die der 1C:Enterprise-Server benötigt. Es ist wichtig, dass der 1C:Enterprise-Server zum Betrieb zwei Verzeichnisse benötigt: ein allgemeines Verzeichnis mit Serverdaten (normalerweise „C:\Programme\1cv81\server“) und ein Verzeichnis temporärer Dateien (normalerweise „C:\Dokumente und Einstellungen“) \usr1cv81\Lokale Einstellungen \Temp“ oder „C:\WINNT\Temp“). Benutzer USR1CV81 erhält Rechte auf das freigegebene Verzeichnis mit Serverdaten. Das Verzeichnis der temporären Dateien ist normalerweise für alle Benutzer zugänglich.
* Wenn während des Installationsvorgangs „1C:Enterprise 8.1-Server als Windows-Dienst installieren“ aktiviert ist, wird der 1C:Enterprise-Server-Agent-Dienst in Windows registriert und gestartet. Beim ersten Start wird ein Cluster von 1C:Enterprise-Servern mit Standardeinstellungen erstellt. Es verfügt über einen Worker-Server und einen Worker-Prozess. Die Adresse des Arbeitsservers entspricht dem Namen des Computers, auf dem die Installation durchgeführt wurde.

USR1CV81- oder USR1CV82-Benutzer und seine Rechte

1C:Enterprise Server ist eine Serveranwendung, deren Betrieb nicht davon abhängen sollte, welcher Benutzer im interaktiven Modus am Servercomputer angemeldet ist, sofern überhaupt jemand angemeldet ist. Daher empfiehlt es sich, bei der Installation eines 1C:Enterprise-Servers einen speziellen Benutzer USR1CV81 zu erstellen, der über die für den 1C:Enterprise-Server erforderlichen Mindestrechte verfügt und nicht für die interaktive Anmeldung vorgesehen ist. Der 1C:Enterprise-Server wird dem Windows-System vom Benutzer USR1CV81 präsentiert.

Schauen wir uns die eingestellten Rechte für den Benutzer USR1CV81 genauer an. Der 1C:Enterprise-Server verwendet die folgenden Verzeichnisse:

* Das Verzeichnis „Lademodule“ befindet sich im Verzeichnis gegebenes Programm Installation von 1C:Enterprise als endgültiger Ordner. Es enthält die Lademodule des 1C:Enterprise-Servers. Der Benutzer USR1CV81 benötigt Rechte zum Lesen von Daten und zum Ausführen von Programmen aus diesem Verzeichnis und seinen Unterverzeichnissen. Diese Rechte erhält es implizit durch die Aufnahme in die Benutzergruppe.
* Das Serverdatenverzeichnis heißt normalerweise „C:\Programme\1cv81\server“. Der Benutzer USR1CV81 benötigt volle Rechte für dieses Verzeichnis. Beim Anlegen des Benutzers USR1CV81 erteilt ihm das 1C:Enterprise-Installationsprogramm Rechte für dieses Verzeichnis.
* Das Verzeichnis der temporären Dateien heißt normalerweise „C:\Dokumente und Einstellungen\usr1cv81\Lokale Einstellungen\Temp“ oder „C:\WINNT\Temp“, was durch den Wert der Umgebungsvariablen TEMP des Benutzers oder der Systemumgebung TEMP bestimmt wird Variable. Sie können den Wert dieser Variablen im Dialogfeld „Systemeigenschaften“ anzeigen (Start -> Einstellungen -> Systemsteuerung -> System -> Erweitert -> Umgebungsvariablen). Das 1C:Enterprise-Installationsprogramm gewährt dem Benutzer USR1CV81 volle Rechte für dieses Verzeichnis. Normalerweise wann Windows-Installationen Das Verzeichnis der temporären Dateien ist für alle Benutzer zugänglich, indem die Gruppe CREATOR OWNER in die Zugriffsliste aufgenommen wird. Dieser Zugriff ist jedoch nicht vollständig. Insbesondere steht die Suche nach Dateien in diesem Verzeichnis nicht allen Benutzern zur Verfügung. Wenn dem Benutzer USR1CV81 volle Rechte für das Verzeichnis der temporären Dateien zugewiesen werden, kann der 1C:Enterprise-Server alle erforderlichen Vorgänge ausführen. Sie können die Zugriffsliste im Dialogfeld „Verzeichniseigenschaften“ auf der Registerkarte „Sicherheit“ anzeigen. Das Vorhandensein der Gruppe CREATOR OWNER ermöglicht den Zugriff auf das Verzeichnis durch jeden Benutzer, der Dateien in diesem Verzeichnis erstellt oder Eigentümer von Dateien in diesem Verzeichnis ist. In diesem Fall wird in der Zugriffsliste der erstellten Datei anstelle der Gruppe CREATOR OWNER der Benutzer eingetragen, der die Datei erstellt hat. Unter den Benutzern, denen der Zugriff auf dieses Verzeichnis gestattet ist, muss sich der Benutzer USR1CV81 befinden, der über volle Rechte für dieses Verzeichnis verfügt.
Es ist wichtig zu bedenken, dass das Verzeichnis der temporären Dateien für einen bestimmten Benutzer (einschließlich Benutzer USR1CV81) durch eine Kombination der Umgebungsvariablen dieses Benutzers und der Systemumgebungsvariablen bestimmt wird. Um dieses Verzeichnis herauszufinden, fordert das 1C:Enterprise-Installationsprogramm den Benutzerkontext USR1CV81 an. Um dies unter Windows 2000 zu tun, benötigt der Benutzer, in dessen Namen das 1C:Enterprise-Installationsprogramm gestartet wird, möglicherweise die folgenden Berechtigungen: Als Teil des Betriebssystems agieren und die Durchlaufprüfung umgehen. Sie können Benutzerrechte mit dem Dienstprogramm „Lokale Sicherheitseinstellungen“ im Zweig „Lokale Richtlinien -> Zuweisung von Benutzerrechten“ überprüfen. Bei der Installation neuer Software erhält der Installer diese Berechtigungen normalerweise automatisch.

Registrieren eines 1C:Enterprise-Servers als Windows-Dienst


1C:Enterprise Server ist eine einfache Windows-Konsolenanwendung und kann interaktiv gestartet werden. Für den Dauergebrauch ist dies jedoch unpraktisch, da der Start des 1C:Enterprise-Servers durch die Anmeldung eines inaktiven Benutzers am Servercomputer erforderlich ist. Um diese Abhängigkeit zu beseitigen, kann der 1C:Enterprise-Server als Windows-Dienst gestartet werden. Dazu muss er im Windows-Dienstmanager registriert werden.

Um eine Liste der Windows-Dienste und ihrer Parameter anzuzeigen, verwenden Sie das Dienstprogramm „Komponentendienste“ (Start -> Einstellungen -> Systemsteuerung -> Verwaltung -> Dienste). Der 1C:Enterprise-Server wird in der Liste der Dienste durch den Dienst „1C:Enterprise Server Agent 8.1“ repräsentiert. Die Dienstparameter bestimmen den Start des 1C:Enterprise Server Agent-Prozesses (Ragent), den Benutzer, unter dessen Namen er gestartet wird, und die Methode des Neustarts in Notfallsituationen.

Im Eigenschaftendialog des Dienstes „1C:Enterprise 8.1 Server Agent“ wird auf der Registerkarte „Allgemein“ die Zeile zum Starten des Ragent-Prozesses angezeigt, bei dem es sich um den 1C:Enterprise Server Agent handelt. Typischerweise sieht diese Zeile so aus:


Es sagt, dass:

* Der Server-Agent-Prozess ist das Boot-Modul „C:\Programme\1cv81\bin\ragent.exe“;
* Der Ragent-Prozess läuft als Windows-Dienst und muss von einem Dienstmanager (-srvc) verwaltet werden.
* wird als 1C:Enterprise Server Agent (-agent) verwendet;
* Beim ersten Start des Dienstes muss ein Cluster mit Standardparametern und der Haupt-IP-Portnummer 1541 (-regport 1541) erstellt werden. Über diesen Port müssen Clientanwendungen eine Verbindung zu im Cluster registrierten Infobases herstellen.
* Der IP-Port des Serveragenten muss die Nummer 1540 (-port 1540) haben. Über diesen Port muss die Clusterkonsole eine Verbindung zum zentralen Server herstellen, um Verwaltungsfunktionen auszuführen.
* Wenn Clusterprozesse auf diesem Server gestartet werden, werden ihnen dynamisch IP-Ports aus dem Bereich 1560-1591 (-range 1560:1591) zugewiesen.
* Allgemeine Clusterdaten befinden sich im Verzeichnis „C:\Programme\1cv81\server“ (-d „C:\Programme\1cv81\server“).

Der Dienst „1C:Enterprise 8.1 Server Agent“ kann nicht nur bei der Installation oder Deinstallation von 1C:Enterprise mit dem 1C:Enterprise 8.1-Installationsprogramm, sondern auch manuell hinzugefügt oder entfernt werden. Dazu können Sie das Dienstprogramm ragent über die Befehlszeile ausführen und dabei die entsprechenden Parameter angeben.

Um einen Dienst zu erstellen, müssen Sie den Parameter -instsrvc und die folgenden Parameter angeben: -usr – der Name des Benutzers, unter dessen Namen der Dienst gestartet werden soll, -pwd – das Passwort dieses Benutzers. In diesem Fall werden die verbleibenden Parameter zu den Startzeilenparametern des 1C:Enterprise Server Agent als Dienst. Für die Standardregistrierung des 1C:Enterprise Server Agent-Dienstes im Debug-Modus sollte der Parametersatz beispielsweise wie folgt lauten:

"C:\Programme\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd Passwort -regport 1541 -port 1540 -range 1560:1591 -d "C:\Programme\1cv81\server" - debuggen

Um einen Dienst zu entfernen, müssen Sie den Parameter -rmsrvc angeben. Zum Beispiel:
„C:\Programme\1cv81\bin\ragent.exe“ -rmsrvc

Manchmal ist es sinnvoll, die Startzeile des Server-Agenten oder andere Parameter des Agent-Dienstes zu ändern, beispielsweise den Debug-Modus zu aktivieren oder mehrere Dienste zu erstellen verschiedene Versionen. Im Dialogfeld „Diensteigenschaften“ können Sie die Startzeile der Dienstanwendung und einige andere Parameter, beispielsweise die Dienstkennung, nicht bearbeiten. Zum Bearbeiten benötigen Sie das Dienstprogramm regedit, mit dem Sie die Windows-Systemregistrierung anzeigen und bearbeiten können.

Aufmerksamkeit!
Das Bearbeiten der Windows-Systemregistrierung erfordert äußerste Vorsicht, da fehlerhafte Änderungen daran das Betriebssystem funktionsunfähig machen können.

Führen Sie das Dienstprogramm regedit aus (öffnen Sie Start -> Ausführen und geben Sie regedit ein) und wählen Sie den Zweig aus:


Zu seinen Parametern gehört der Parameter ImagePath, dessen Wert die Startzeichenfolge des 1C:Enterprise Server Agent ist. Hier können Sie neue Startzeichenfolgenparameter hinzufügen oder die Werte bestehender Parameter ändern. Volle Liste Mögliche Parameter finden Sie in der Buchdokumentation „1C:Enterprise 8.1 Client-Server“.

Wenn Sie mehrere unabhängige 1C:Enterprise Server Agent-Dienste registrieren müssen, müssen Sie diese mit unterschiedlichen Boot-Modulen, unterschiedlichen Ports und unterschiedlichen Cluster-Datenverzeichnissen angeben. Sie müssen sie auch mit unterschiedlichen Dienstkennungen registrieren. Dies kann folgendermaßen erfolgen:

* Erstellen Sie den ersten Dienst:
„C:\Programme\1cv81\bin\ragent.exe“ -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d „C:\Programme\1cv81\server“

* Ändern Sie mit dem Dienstprogramm regedit die Kennung des registrierten Dienstes. Gehen Sie dazu wie folgt vor: Wählen Sie einen Zweig aus
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent First
* Erstellen Sie einen zweiten Dienst:
„C:\Programme\1cv81_10\bin\ragent.exe“ -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d „C:\Programme\1cv81_10\server“

* Vielleicht sollte auch seine ID geändert werden. Gehen Sie dazu wie folgt vor: Wählen Sie einen Zweig aus
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent
und ändern Sie den Namen, zum Beispiel in:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 Server Agent Second

Was kann das 1C:Enterprise-Installationsprogramm nicht?

Wie bereits erwähnt, kopiert das 1C:Enterprise-Installationsprogramm die 1C:Enterprise-Bootmodule und führt die notwendige Registrierung in COM und im Windows-Dienstmanager durch. Bei den oben genannten Informationen handelt es sich um Informationen, die zum Verständnis der internen Mechanismen dieser Registrierung erforderlich sind. Wenn auf dem Servercomputer nicht nur der Server installiert ist, sondern auch der Client-Teil von 1C:Enterprise, ist dieser sofort nach der Installation (und dem Anschließen der Sicherheitsschlüssel) betriebsbereit.

Damit der 1C:Enterprise-Server von anderen Computern im lokalen Netzwerk aus erreichbar ist, müssen Sie die Netzwerkeinstellungen auf den Server- und Client-Computern sowie für das Netzwerk als Ganzes überprüfen. TCP/IP wird zur Datenübertragung zwischen Clientanwendungen und dem 1C:Enterprise-Server sowie zwischen Serverclusterprozessen verwendet. Der Betrieb von 1C:Enterprise in der Client-Server-Version hängt von der korrekten Konfiguration ab.

Prozesse eines 1C:Enterprise-Serverclusters verbinden sich untereinander über die Adressen, die als Werte der Eigenschaft „Computer“ im Eigenschaftendialog funktionierender Server definiert sind. Der Cluster erfordert, dass der Wert der Eigenschaft „Computer“ entweder eine IP-Adresse in Punktschreibweise oder eine symbolische Adresse ist, aus der die IP-Adresse mithilfe der in der TCP-API definierten Funktion „gethostbyname“ ermittelt werden kann. Die IP-Adresse wird entweder anhand der lokalen Tabelle symbolischer Adressen (C:\WINNT\system32\drivers\etc\hosts) oder anhand der Adresstabellen in verfügbaren DNS-Servern ermittelt. Wenn die symbolische Adresse des Arbeitsservers seine IP-Adresse nicht oder falsch ermittelt (z. B. wenn die IP-Adresse nicht mit der tatsächlichen IP-Adresse dieses Computers übereinstimmt), funktioniert der Cluster nicht. Es ist wichtig, dass die Namen der Computer und ihre Adressen, die in Windows auf jedem der Arbeitsserver im Cluster definiert sind, nicht im Widerspruch zu ihren Namen im DNS stehen.

Auf jedem Arbeitsserver verwenden Clusterprozesse die folgenden Ports: IP-Port des Arbeitsservers (normalerweise 1540); IP-Ports aus den Workflow-IP-Portbereichen (normalerweise 1560–1591). Darüber hinaus verwendet der zentrale Server des Clusters den Cluster-Port (normalerweise 1541). Wenn das System Firewalls verwendet, muss die Datenübertragung auf diesen Ports erlaubt sein. Anstatt Ports aus der obigen Liste zuzulassen, können Sie die Datenübertragung an Clusterprozesse (ragent, rmngr, rphost) zulassen.

Die Verbindung zwischen der 1C:Enterprise-Clientanwendung und dem Server erfolgt in 2 Stufen. Es stellt zunächst eine Verbindung zum Clustermanager her. Dabei werden die zentrale Serveradresse (symbolisch oder numerisch) und der Cluster-Port (normalerweise 1541) verwendet. Als nächstes stellt die Client-Anwendung eine Verbindung mit einem der Worker-Prozesse her. Als Adresse werden der Wert der Eigenschaft „Computer“ des entsprechenden Arbeitsservers und der Arbeitsprozess-Port verwendet, der aus dem Bereich der IP-Ports des Arbeitsservers ausgewählt wird. Die Datenübertragung an diese Ports muss in allen Firewalls entlang der Route vom Client-Anwendungsrechner zu den Rechnern des 1C:Enterprise-Serverclusters erlaubt sein. Die IP-Adresse von Serverprozessen wird mithilfe der Funktion gethostbyname auf dem Clientcomputer ermittelt. Es ist wichtig, dass die Namen der zentralen und Arbeitsserver und ihre in Windows auf jedem der Server im Cluster definierten Adressen nicht im Widerspruch zu ihren Namen im DNS stehen, auf den der Client-Computer zugreifen kann.

Und noch eine letzte Sache. Um von anderen Computern aus erfolgreich auf den 1C:Enterprise-Server zugreifen zu können, muss dieser sich natürlich im Netzwerk befinden und die notwendigen Einstellungen dafür vorgenommen werden. Das Herstellen einer Verbindung zu einem Netzwerk und die Einrichtungstechniken beziehen sich auf die Verwaltung von Netzwerken Microsoft-Datenbank Windows und sind in der entsprechenden Anleitung beschrieben.

Funktionen zum Einrichten eines SQL-Servers

1C:Enterprise in der „Client-Server“-Version verwendet einen SQL-Server zum Speichern von Daten. In diesem Fall greift nur 1C:Enterprise Server auf den SQL-Server zu. 1C:Enterprise-Clients haben keinen direkten Zugriff auf den SQL-Server. Die Installation und Konfiguration eines SQL-Servers wird ausführlich in der Microsoft SQL Server-Dokumentation beschrieben. Für den erfolgreichen Betrieb von 1C:Enterprise Server mit einem SQL-Server müssen Sie besonders auf die folgenden Einstellungen achten.

* Erforderliche SQL Server-Komponenten. Um von der 1C:Enterprise Server-Seite auf den SQL-Server zuzugreifen, müssen Komponenten von Microsoft Data Access 2.6 oder höher auf dem 1C:Enterprise Server-Computer installiert sein.
* Benutzerauthentifizierung durch SQL Server. Zugriffsrechte auf SQL Server-Datenbanken werden durch den Benutzer bestimmt, in dessen Namen auf die Datenbanken zugegriffen wird. Starten Sie auf dem Computer, auf dem der SQL-Server installiert ist, das Dienstprogramm SQL Server Enterprise Manager, suchen Sie den lokalen Knoten (Konsolenstamm -> Microsoft SQL Server -> SQL Server-Gruppe -> (Lokal)) und öffnen Sie seine Eigenschaften. Auf der Registerkarte „Sicherheit“ können Sie sehen, dass der SQL-Server zwei Methoden der Benutzerauthentifizierung unterstützt: SQL Server und Windows und nur Windows. Durch die Windows-Authentifizierung kann der 1C:Enterprise-Server nur im Namen des Benutzers USR1CV81 auf den SQL-Server zugreifen, wodurch keine Differenzierung der Zugriffsrechte auf verschiedene Infobases möglich ist, die von einem 1C:Enterprise-Server bedient werden. Es wird empfohlen, den SQL Server- und Windows-Modus auszuwählen. In diesem Fall erfolgt der Zugriff auf eine bestimmte Infobase im Namen des Benutzers, der beim Erstellen dieser Infobase als SQL-Server-Benutzer angegeben wurde. Es ist wichtig, dass dieser Benutzer nicht nur über vollständige Rechte für die Infobase-Datenbank verfügt, sondern auch über Rechte zum Erstellen von Datenbanken im SQL-Server und zum Lesen von Master-Datenbanktabellen.
* Netzwerkprotokolle für den Zugriff auf den SQL-Server. Wenn sich 1C:Enterprise Server und der SQL-Server auf verschiedenen Computern befinden, müssen Sie die Netzwerkzugriffsprotokolle auf den SQL-Server konfigurieren. Dies kann mit dem SQL Server Client Network Utility erfolgen. Auf der Registerkarte „Allgemein“ können Sie eine Liste der Netzwerkprotokolle auswählen, die für den Zugriff auf den SQL-Server verwendet werden. Am schnellsten und vielseitigsten ist die Verwendung des TCP/IP-Protokolls. Bei der Verwendung anderer Protokolle ist zu beachten, dass einige von ihnen, beispielsweise Named Pipes, beim Datenaustausch mit dem SQL-Server eine zusätzliche Authentifizierung mithilfe von Windows-Tools durchführen. In diesem Fall muss für eine erfolgreiche Arbeit mit dem SQL-Server der Benutzer USR1CV81 mit den entsprechenden Rechten auf dem Computer beim SQL-Server registriert sein. Das Zugriffsprotokoll für diesen SQL-Server kann auf der Registerkarte Alias ​​geändert werden.

Zusätzlich zum Artikel

Es besteht kein Zweifel, dass die Kombination aus MS SQL Server + 1C: Enterprise 8 Server die beliebteste und am häufigsten verwendete Kombination in ihrer Nische ist. Für den qualitativ hochwertigen Support ist ein Verständnis beider Produkte wünschenswert. Gleichzeitig ist ein Support-Spezialist in der Praxis in der Regel entweder auf die Administration von MS SQL Server spezialisiert und mit den Funktionen des 1C: Enterprise 8-Servers nicht vertraut oder umgekehrt auf die Administration des 1C: Enterprise 8-Servers spezialisiert und nicht mit den Funktionen von MS SQL Server vertraut.

Dieser Artikel wurde geschrieben, um sowohl diesen als auch anderen Spezialisten zu helfen. Er soll Ihnen Zeit sparen und Sie auf die wichtigsten Details aufmerksam machen, wenn Sie diese Softwareprodukte gemeinsam verwenden.

Um die Informationen leichter verständlich zu machen, werden Fallbeispiele, Hinweise und Tipps bereitgestellt (in Kursivschrift).

Dreigliedrige Schaltung

Wie der Leser vielleicht bereits weiß, verfügt die Datenbank im vorliegenden Fall über eine dreistufige Architektur:

Link 1: MS SQL Server DBMS. „Speichert“ und verwaltet die Datenbank und führt letztendlich alle Arten von Datenbankoperationen aus. Somit werden die Leistung der Datenbank, die Geschwindigkeit und die Parallelität des Lesens und Schreibens von Daten maßgeblich von der Leistung des MS SQL Servers bestimmt.

Link 2: Server „1C: Enterprise 8“. Dient als Vermittler bei der Interaktion zwischen Clients (Benutzern) und MS SQL Server. Alle Client-Anfragen werden an den Server gesendet, der sie in die Abfragesprache von MS SQL Server „übersetzt“, die Ergebnisse der Ausführung dieser Abfragen empfängt und die Ergebnisse an den Client sendet.

Es gibt nur einen kleinen Teil der Vorgänge, die auf der 1C: Enterprise 8-Serverebene ohne Zugriff auf MS SQL ausgeführt werden – dies ist insbesondere das Verfolgen der sogenannten „verwalteten Sperren“ sowie das Lesen und Schreiben von „Sitzungsparametern“. In solchen Fällen ist kein Zugriff auf das DBMS erforderlich, da diese Vorgänge nicht mit Datenbankdaten, sondern mit Hilfsserverinformationen durchgeführt werden.

Link 3: Client-Teil von „1C: Enterprise 8“. Greift auf den 1C: Enterprise 8-Server zu, empfängt von diesem Ergebnisse (also beispielsweise Datenbeispiele) und ist für die Benutzeroberfläche verantwortlich.

„Ich wollte das Beste.“

Nach der Neuinstallation des 1C: Enterprise 8-Servers beschweren sich Benutzer über einen starken Leistungsabfall. Der Spezialist für die Implementierung von 1C: Enterprise-Software, der die Neuinstallation durchgeführt hat, ist nur überrascht – er wollte das Beste, das System hätte schneller arbeiten sollen... Die Analyse der Situation ergab, dass dem 1C: Enterprise 8-Server zu viele Ressourcen zugewiesen wurden : Es verarbeitet (siehe Punkt 3) rphost belegte 15,5 GB des 16 GB RAM des Servers, wodurch für den kompatiblen MS SQL Server praktisch kein RAM verfügbar war.

Das Ergebnis ist ein ständiger „Swap“, eine unnötige Belastung des Festplatten-Subsystems und eine extrem langsame Ausführung von Datenbankoperationen – aufgrund der Tatsache, dass MS SQL Server keine Zeit hat, Anfragen vom „übertakteten“ 1C: Enterprise 8 zu verarbeiten Server.

Produktkompatibilität

Aktuelle Informationen zu den für den Einsatz in Verbindung mit 1C: Enterprise 8 empfohlenen Versionen von MS SQL Server finden Sie unter diesem Link http://v8.1c.ru/requirements/.

Zum Zeitpunkt des Schreibens dieses Artikels empfehlen 1C-Entwickler die folgenden Optionen:

      1. SQL Server 2008 R2.
      2. SQL Server 2008 erfordert die Installation von Service Pack 1 (SP1).
    3. SQL Server 2005 erfordert die Installation von Service Pack 3 (SP3).



Die Verwendung von MS SQL Server 2000 ist technisch möglich, wird jedoch nicht empfohlen; hierfür ist die Installation von Service Pack 2 (SP2) erforderlich, und die Installation von Service Pack 4 (SP4) ist wünschenswert.

Bitte beachten Sie, dass diese Version derzeit veraltet ist und es keine 64-Bit-Version für x86-64-Architektur gibt.

Beachten Sie:

Sie müssen auf die Einstellungen achten Betriebssystem: zum Beispiel, für effiziente Arbeit Für M SQL Server 2008 unter dem Betriebssystem Server 2008R2 muss der ausgeglichene Energiemodus deaktiviert und in den Modus für maximale Leistung gewechselt werden.

Installation der Client-Server-Version von „1C: Enterprise 8“

„1C installiert“

Bei einem der Kunden wurde die Installation von 1C: Enterprise 8 von einem Systemadministrator durchgeführt, der keine Erfahrung im Umgang mit 1C: Enterprise 8 hatte. Und obwohl er seiner Meinung nach „1C installiert“ habe, gab es auf den Benutzercomputern keinen Client-Teil und auf dem Server einen Server-Teil. Die Analyse der Situation verdeutlichte das Bild – das 1C: Enterprise 8-Kit enthielt 2 Festplatten – Installation der Plattform und Installation von Datenbankvorlagen. Der Administrator befasste sich nicht intensiv mit dem Installationsvorgang – und installierte Datenbankvorlagen und keine ausführbaren Dateien oder Plattformkomponenten.

Dies ist natürlich ein untypisches Beispiel für eine außergewöhnlich unaufmerksame Einstellung zur Arbeit.

Bei der Installation von „1C: Enterprise 8“ sollten Sie berücksichtigen, dass Folgendes separat installiert wird:

      Die 1C: Enterprise 8-Plattform ist eine ausführbare Anwendung, eine integrierte Umgebung für die Entwicklung und den Betrieb von Datenbanken. Beim Start wählen Sie einen von zwei Betriebsmodi – „Enterprise“ (Benutzerdatenbank-Shell) oder „Konfigurator“ (integrierte Entwicklungsumgebung). Mehr Gesamte Beschreibung kann unter dem Link nachgelesen werden
      Bei den Konfigurationsvorlagen „1C: Enterprise“ handelt es sich um eine Datei im plattforminternen Format, mit deren Hilfe die Plattform eine reine oder Demo-Datenbank der in der Vorlage enthaltenen Struktur erstellen kann. Sie können das Aktualisierungsmuster auch verwenden, um die Struktur einer vorhandenen Datenbank zu aktualisieren, die bereits mit Daten gefüllt ist.
      Bei der Installation der Plattform sollten Sie auf die Auswahl der Komponenten achten:





Die 1C: Enterprise-Komponente darf nicht auf dem/den Server(n) installiert sein.

In diesem Fall gewährt der Server Client-Computern Zugriff auf 1C: Enterprise-Datenbanken, ein Arbeiten mit der Datenbank im Benutzermodus direkt vom Server aus ist jedoch nicht möglich.

Beachten Sie:

Die 64-Bit-Version der Plattform enthält keinen Client-Teil. Daher werden bei der Installation auf einem Server 64-Bit-Serverkomponenten separat und 32-Bit-Clientanwendungskomponenten separat installiert.

Für die Verbindung mit MS SQL Server wird die Komponente „1C Server: Enterprise“ benötigt – es handelt sich um einen Anwendungsserver, ein Verbindungsglied zwischen der Plattform auf Client-Workstations und MS SQL Server.

Es ist möglich, die Komponente im Modus einer einfachen Anwendung oder eines Systemdienstes zu installieren, und natürlich wird die zweite Option empfohlen.

Bei der Installation „als Dienst“ wird diese Komponente im Namen des ausgewählten Benutzers gestartet und ausgeführt:




Nach dem Laden erzeugt die Komponente mehrere Prozesse, wie zum Beispiel: „Server-Agent“, „Server-Cluster-Manager“, „Server-Worker-Prozesse“.

Abfragen an die Datenbank werden von Arbeitsprozessen ausgeführt und der Server-Cluster-Manager verteilt die Last zwischen ihnen.

Wenn die Komponente „1C: Enterprise Server Administration“ installiert ist, können Server-Arbeitsprozesse verwaltet (hinzugefügt, gelöscht, Begrenzungen der RAM-Nutzung festgelegt, als primär oder als Backup deklariert) werden.



Beachten Sie:

Für die 32-Bit-Version des Servers empfiehlt es sich, Arbeitsprozesse in einer solchen Anzahl zu installieren, dass der Arbeitsspeicher nicht ungenutzt bleibt – jeder von ihnen hat eine spürbare Einschränkung der RAM-Nutzung, je nach System von 2 bis 4 GB Aufbau.

Für die 64-Bit-Version des Servers reichen theoretisch zwei Worker-Prozesse aus – ein Worker und ein Backup. In der Praxis ist jedoch eine größere Anzahl erforderlich, um die Zuverlässigkeit und Stabilität der Verbindungen für eine erhebliche Anzahl (mehrere Hundert) Benutzer zu gewährleisten. Dies hängt von vielen Faktoren ab – von der Anzahl der Benutzer, dem Inhalt der Datenbank und dem Umfang Abfragen durchgeführt, daher sind die Autoren der Ansicht, dass die Anzahl der Prozesse in diesem Fall experimentell ausgewählt werden sollte.

„Ouroboros“

Nach erfolgloser Optimierung der 1C: Enterprise 8-Servereinstellungen meldeten Benutzer einen extrem langsamen Systembetrieb und der Systemadministrator stellte eine konstante Prozessorauslastung von 100 % auf dem Server fest.

Eine Analyse der Situation zeigte die Ursache des Problems: Bei der Konfiguration wurde eine zu geringe Grenze für die RAM-Nutzung durch Arbeitsprozesse festgelegt.

Tatsache ist jedoch, dass diese Einschränkung wie folgt funktioniert:

Wenn der Server-Cluster-Manager feststellt, dass ein Arbeitsprozess das RAM-Limit überschritten hat, wird der Prozess beendet, deaktiviert, ein neuer Arbeitsprozess erstellt und Verbindungen und Benutzeranforderungen werden zwischen den Arbeitsprozessen neu verteilt.

Der festgelegte Grenzwert war so gering (300 MB), dass der Arbeitsprozess nicht einmal einen intensiven Benutzer vollständig bedienen konnte – daher startete der Server-Cluster-Manager ständig Arbeitprozesse neu und verband Benutzer erneut. Sobald ein neuer Prozess erstellt und Benutzer damit verbunden wurden, war das RAM-Limit fast sofort erreicht und verursachte den nächsten Neustart. Dies beanspruchte 100 % der Prozessorlast.

Die Komponente „1C Server: Enterprise“ wird auf Client-Workstations nicht benötigt und kann dort auch nicht gestartet werden, da sie das physische Vorhandensein eines Sicherheitsschlüssels erfordert.

Wenn die Anzahl der verbundenen Benutzer gering ist (weniger als 50), wird der Anwendungsserver normalerweise auf demselben Computer installiert, auf dem MS SQL Server ausgeführt wird.

Für Systeme mit einer großen Anzahl an Benutzern und/oder einem großen Informationsfluss empfiehlt sich eine separate Installation sowie der Einsatz eines Server-Clusters.

Die Komponente „1C: Enterprise Server Administration“ kann auch auf Clients nützlich sein – mit ihrer Hilfe können Sie beispielsweise eine Liste der Infobases anzeigen, die mit einem bestimmten „1C: Enterprise“-Server verbunden sind.

Es wird dringend empfohlen, es auf dem Server selbst zu installieren.

Zugang

Beachten Sie:

Um zu überprüfen, ob der Zugriff gewährt wird, reicht es nicht aus, das Dienstprogramm zur Serververwaltung von 1C: Enterprise zu verwenden, und noch mehr, die Anwesenheit des Servers in der „Netzwerkumgebung“ reicht nicht aus!

Es ist für jeden Client erforderlich, sich bei der auf dem Server installierten Datenbank anzumelden. Nur so besteht 100-prozentige Sicherheit, dass der Zugriff gewährt wird.

1. Abhängig von den Sicherheitsrichtlinien verwendet MS SQL Server die Windows-Kontoauthentifizierung oder die MS SQL Server-Kontoauthentifizierung.




Im letzteren Fall fordert das System beim Erstellen einer 1C: Enterprise-Datenbank den Benutzernamen und das Passwort des MS SQL Server-Kontos (z. B. sa) an, im ersten Fall sollten Benutzername und Passwort leer bleiben:



und dem Systembenutzer, in dessen Namen der 1C: Enterprise-Server läuft, müssen im MS SQL Server Rechte erteilt werden, nämlich:

      volle Rechte an der Datenbank, in der sich die Informationsbasis befindet
      Zugriff auf die Masterdatenbank (öffentliche Rolle)
      empfohlen - Rechte zum Erstellen einer Datenbank, andernfalls muss jede neue Datenbank zuerst mit MS SQL Server erstellt und erst dann mit dem 1C: Enterprise-Server verbunden werden
      empfohlen – Recht zum Löschen Ihrer Datenbank



Sie können dem betreffenden Benutzer beispielsweise die feste Rolle „processadmin“ oder „sysadmin“ zuweisen.

Beratung.

Wenn alle Benutzer gleichzeitig den Zugriff auf die Arbeitsdatenbank verlieren, müssen Sie die Benutzerrechte und Rollen in MS SQL Server noch einmal überprüfen, einschließlich der für eine bestimmte Datenbank festgelegten, d. h. Benutzerzuordnung:




2. Server 1C: Enterprise greift über den Microsoft Data Access-Mechanismus auf MS SQL Server zu, daher müssen seine Komponenten installiert sein und der Benutzer des Servers 1C: Enterprise (siehe vorheriger Absatz) muss über Rechte zum Ausführen dieser Komponenten verfügen.

3. Die Kommunikation zwischen Clients und Server wird durch das TCP-Protokoll unterstützt, daher ist es notwendig, dass dieses Protokoll von beiden Seiten unterstützt wird. Wenn beispielsweise ein Peer-to-Peer-Netzwerk verwendet wird, kann es zu Problemen bei der Zuordnung des Servernamens und seiner IP-Adresse kommen. In diesem Fall sollten Sie die Korrespondenz in der Datei [C:\WINDOWS\] system32\drivers\etc\hosts aufzeichnen.

Beratung.

Wenn es sich bei dem Netzwerk um ein Peer-to-Peer-Netzwerk handelt, erstellen Sie ein Netzlaufwerk, das auf alle Ordner dieses Servers zugreift, um eine dauerhafte Verbindung zum Server sicherzustellen.

4. Wenn das Named Pipes-Protokoll verwendet wird und MS SQL Server und der 1C: Enterprise-Server auf verschiedenen Computern installiert sind, muss der Benutzer, in dessen Namen der 1C: Enterprise-Server ausgeführt wird, in der Benutzerliste des Computers registriert sein auf dem der MS SQL Server läuft.

5. In einigen Fällen kann eine zusätzliche Konfiguration der Windows-Firewall erforderlich sein, d. h. das Hinzufügen von Ausnahmen.

6. Einige Antivirenprogramme blockieren möglicherweise „unerwünschten“ Netzwerkverkehr, daher müssen Sie möglicherweise etwas zu deren Ausschlusslisten hinzufügen.

7. Die Veröffentlichung der 1C: Enterprise 8-Plattform muss auf dem Client und auf dem Server absolut identisch sein.

„Zwillinge“

„Einer der Kunden nutzte zwei Datenbankserver, auf denen jeweils eine funktionierende Datenbank untergebracht war. Die Benutzer arbeiteten – jeder gleichzeitig mit beiden Datenbanken. Der Support-Service aktualisierte die 1C: Enterprise 8-Plattform auf Servern und Clients … Und dann begannen die Beschwerden zu strömen.“ in für die Unmöglichkeit, eine Verbindung herzustellen - zunächst zu der einen oder anderen Datenbank. Die Analyse der Situation ergab, dass das Update auf Clients und Servern von mehreren Personen durchgeführt wurde und die Installationsspezialisten nicht überprüften, ob sie dieselbe Version installierten. Deshalb , auf einem Server gab es eine Version der Plattform, auf dem zweiten eine andere, auf der Hälfte der Clients die erste dieser Versionen, auf der anderen Hälfte die andere... Es stellte sich heraus, dass jeder Benutzer nur Zugriff darauf hatte eine der Datenbanken.

Um das Problem schnell zu lösen, musste jeder Benutzer beide Versionen der Plattform installieren und separate Verknüpfungen erstellen, um sich bei jeder Datenbank anzumelden.

Grundeinstellungen von MS SQL Server und Datenbank

„Und so funktioniert es“

MS SQL Server zeichnet sich durch eine einfache Erstinstallation aus, sodass nicht alle Administratoren davon verwirrt sind zusätzliche Einstellungen– Nach Abschluss der Standardinstallation funktionierte die Datenbank, die Benutzer meldeten sich an – die Arbeit war erledigt. Dieses Vorgehen führt fast immer dazu, dass nach etwa einem oder zwei Monaten Probleme auftreten – und das natürlich plötzlich und im ungünstigsten Moment.

Wenn die Datenbank beispielsweise für Buchhaltungszwecke bestimmt ist, besteht vor der Abgabe von Steuerberichten häufig die Notwendigkeit, bestimmte Daten dringend neu zu berechnen und beispielsweise „alle Einnahmen aus Anlagevermögen ab Jahresbeginn“ massenhaft neu zu berechnen. Darüber hinaus während des Arbeitstages, ohne die Arbeit anderer Datenbankbenutzer zu unterbrechen.

Und natürlich wird in diesem Moment festgestellt, dass die Datenbank während einer solchen Neuberechnung „einfriert“, „abstürzt“ oder anderen Benutzern die Arbeit nicht erlaubt.

Dieses „Murphy-Gesetz“ gilt für jeden der folgenden Punkte.

Bevor Sie beginnen, MS SQL Server als DBMS für 1C: Enterprise zu verwenden, wird empfohlen:

1. Stellen Sie den Wert des Parameters „Maximalgrad der Parallelität“ auf 1 ein.

Also:

      Nachdem Sie eine Verbindung zum Server hergestellt haben, geben Sie die Servereigenschaften über das Kontextmenü, den Eintrag „Eigenschaften“, ein
      Wählen Sie dann die Seite „Erweitert“ aus und bearbeiten Sie den Parameter „Maximaler Parallelitätsgrad“.






Andernfalls können einige vom 1C: Enterprise-Server generierte Abfragen den Fehler „Intra-Abfrage-Parallelität verursachte einen Deadlock Ihres Serverbefehls (Prozess-ID #XX)“ verursachen. Führen Sie die Abfrage erneut ohne Intra-Abfrage-Parallelität aus, indem Sie die Abfragehinweisoption (maxdop 1) verwenden )". Nach diesem Fehler stürzt der Client-Teil häufig ab.

Der Fehler tritt nicht konsistent auf, da der Abfrageplan je nach den gesammelten Statistiken unterschiedlich erstellt wird. Er tritt bei großen und komplexen Abfragen, also im ungünstigsten Moment, auf.

2. Erstellen Sie einen Wartungsplan, der die temporäre Tabellendatenbank tempdb jede Nacht verkleinert. Die Datenbank der temporären Tabellen wird vom 1C: Enterprise-Server nicht immer automatisch gelöscht, und manchmal kann es aufgrund einer erfolglos geschriebenen Abfrage dazu kommen, dass eine temporäre Tabelle mit einer Größe von beispielsweise 50 GB erstellt und nicht gelöscht wird. Infolgedessen kann der Speicherplatz knapp werden, was zum Absturz sowohl des Client- als auch des Serverteils führen kann, und es besteht auch ein geringes Risiko einer Verletzung der Datenintegrität.

Das heißt, Sie benötigen:

      Gehen Sie zu MS SQL Management Studio
      Erweitern Sie nach dem Herstellen einer Verbindung zum Server den Abschnitt „Wartungspläne“.
      einen neuen Serviceplan erstellen (oder zu einem bestehenden hinzufügen),
      Fügen Sie mit dem Code den Punkt „Aufgabe T-SQL-Anweisung ausführen“ hinzu (da Sie die Datenbank tempdb in der Aufgabe „Datenbank verkleinern“ nicht auswählen können).




1. VERWENDEN
2.
3.GO
4.
5.DBCC SHRINKFILE (N"tempdev", 0, TRUNCATEONLY)
6.
7.GO
8.
9.DBCC SHRINKFILE (N"templog", 0, TRUNCATEONLY)
10.
11.GO

Beachten Sie, dass der Dateiname der temporären Tabellendatenbank möglicherweise nicht „tempdev“ lautet. Sie können diesen Namen mithilfe eines Skripts überprüfen

1. VERWENDEN Sie tempdb
2.
3.GO
4.
5.EXEC sp_helpfile
6.
7.GO




„Topf, nicht kochen“

Der in der Praxis häufigste Weg, tempdb zu überfüllen und dadurch den Server zum Absturz zu bringen, besteht darin, beim Zusammenführen von Tabellen zu vergessen, eine Bedingung anzugeben.

Nehmen wir nämlich an, wir haben zwei Tabellen in der Datenbank mit jeweils 20.000 Datensätzen. Nehmen wir an, es besteht eine Eins-zu-Eins-Entsprechung zwischen ihren Datensätzen, und wir schreiben eine Abfrage, die eine temporäre Tabelle erstellt, die 20.000 Datensätze mit Feldern aus beiden Quelltabellen enthält. Wenn wir jedoch vergessen, die Join-Bedingung anzugeben, wird jeder Datensatz der ersten Tabelle mit jedem Datensatz der zweiten Tabelle verknüpft! Das heißt, die resultierende Tabelle besteht aus 20.000 * 20.000 = 400 Millionen Datensätzen. Usw.

3. Um die Belastung des Festplattensubsystems zu reduzieren, wird empfohlen, die Arbeitsdatenbank und Tempdb, Protokolle und Systemauslagerungsdatei nach Möglichkeit auf verschiedene physische Festplatten zu verteilen.

Es ist besser, den gewünschten Pfad zum Speichern der Arbeitsdatenbankdateien beim Erstellen festzulegen, indem Sie die Spalte „Pfad“ bearbeiten:




Um den physischen Speicherort temporärer Tabellendatenbankdateien zu ändern, verwenden Sie den Befehl ALTER DATABASE. Das heißt, Sie müssen in MS SQL Management Studio das folgende Skript ausführen (Befehl „Neue Abfrage“).

1.VERWENDEN Sie den Master
2.
3.GO
4.
5. DATENBANK TEMPDB ÄNDERN
6.
7. DATEI ÄNDERN (NAME = tempdev, FILENAME = „New_Disk:\New_Directory\tempdb.mdf“)
8.
9.GO
10.
11. DATENBANK TEMPDB ÄNDERN

12.
13. DATEI ÄNDERN (NAME = templog, FILENAME = „New_Disk:\New_Directory\templog.ldf“)
14.
15.GO

4. Das „Wachstum“ der Arbeitsdatenbank und ihres Protokolls sollte nicht behindert werden – es sollte keine Größenbeschränkung geben, die Eigenschaft „Autogrowth“ sollte als Prozentsatz festgelegt werden, der empfohlene Wert beträgt 10 %. Andernfalls kann das Hinzufügen von Daten zur Datenbank, das Wiederherstellen aus einem Archiv und andere Vorgänge unangemessen lange dauern.

Um diese Eigenschaft festzulegen, müssen Sie über das Kontextmenü zu den Datenbankeigenschaften gehen, den Abschnitt „Dateien“ auswählen und die Bearbeitung der Dateieigenschaften öffnen:



5. Es wird empfohlen, die Unterstützung für das TCP/IP-Netzwerkprotokoll in MS SQL Server zu aktivieren und alle anderen zu deaktivieren, da sonst der gemeinsame Betrieb von MS SQL Server und 1C: Enterprise Server weniger stabil wird.




6. An derselben Stelle - löschen Sie den Alias-Bereich, weil seine Installation führt zu Fehlern in der Interaktion zwischen MS SQL Server und dem 1C: Enterprise Server.

Bevor Sie mit der Nutzung der Datenbank beginnen, wird empfohlen:

1. Stellen Sie beim Erstellen einer Datenbank aus „1C: Enterprise“ den „Datumsoffset“ auf 2000 ein, da sonst der Versuch, ein Datum vor dem 01.01.1753 aufzuzeichnen (was aufgrund menschlicher Faktoren möglich ist), zu Fehlern in der Datenbank führt Datenbank.

Aufmerksamkeit! Der Datumsoffset kann für eine bestehende Datenbank nicht geändert werden!



2. Stellen Sie das Wiederherstellungsmodell auf „Einfach“ ein oder erstellen Sie einen Wartungsplan, der eine tägliche Sicherung der Datenbank erstellt und das Transaktionsprotokoll (Protokolldatei) kürzt. Andernfalls wächst das Transaktionsprotokoll (Protokolldatei) bei einigen Vorgängen sehr schnell: Beispielsweise kann bei der Umstrukturierung einer Datenbank die Vergrößerung der Protokolldatei um ein Vielfaches größer sein als die Größe der Datenbank selbst.




3. Erstellen Sie einen Wartungsplan, der die folgenden Routineaufgaben mindestens einmal pro Woche durchführt:

      Erstellen einer Sicherungskopie der Datenbank.
      Aktualisieren Sie die Datenbankstatistiken und leeren Sie den prozeduralen Cache (beachten Sie, dass die Eigenschaft „Autoupdate Statistics“ nicht das Löschen des prozeduralen Caches impliziert).
      Das Löschen des prozeduralen Caches ist nicht in den Standardvorgängen von Wartungsplänen enthalten; dieser Schritt muss als Ausführung eines Skripts (T-SQL-Anweisung ausführen) mit folgendem Inhalt definiert werden:
      DBCC FREEPROCCACHE
      Datenbanktabellen neu indizieren.






Natürlich ist es sinnvoll, den automatischen Versand von E-Mails über erfolgreiche/nicht erfolgreiche Erledigung von Aufgaben einzurichten.




Abschluss

Die Probleme, die Systemadministratoren und Implementierern von 1C: Enterprise 8 am häufigsten Schwierigkeiten bereiten, werden im Zusammenhang mit der gemeinsamen Nutzung von MS SQL Server und der Client-Server-Version von 1C: Enterprise 8 betrachtet.

Der Autor hofft, dass er „beide Seiten der Medaille“ einigermaßen konsistent und verständlich abgedeckt hat.

P.S. Machen Sie häufig Backups!

Die 1C-Server-Verwaltungskonsole oder die 1C-Server-Verwaltungskonsole oder die 1C-Server-Cluster-Konsole ist ein in 1C Enterprise 8.3 enthaltenes Dienstprogramm, das für Folgendes erforderlich ist:

  • Sitzungsverwaltung;
  • Verwaltung der Datenbankliste;
  • Erstellen von 1C-Clustern für fehlertolerante Architektur und Skalierbarkeit;
  • Flexible Gestaltung von Arbeitsabläufen;
  • Einschränkungen des Ressourcenverbrauchs;
  • Trennung der von Arbeitsservern ausgeführten Aufgaben (um einzelne Dienste auf verschiedene Arbeitsserver zu übertragen);
  • Verwaltung von Sicherheitsprofilen.


Verwalten von Datenbanken in der Clusterkonsole

Bei der Arbeit in einer Client-Server-Architektur stoßen Benutzer höchstwahrscheinlich auf die eine oder andere Weise auf die Serververwaltungskonsole, zumindest wenn sie eine neue Datenbank zur Liste der Infobases hinzufügen. Um eine neue Datenbank hinzuzufügen, müssen Sie mit der rechten Maustaste auf die Infobases klicken und „Erstellen“ auswählen.


Es öffnet sich ein Fenster.


In diesem Fenster werden die Einstellungen für die Verbindung zum DBMS ausgefüllt, und wenn diese fehlen, können Sie die Option „Datenbank erstellen, falls nicht vorhanden“ verwenden. Die restlichen Einstellungen können als Standardeinstellungen belassen werden.

Sie können dasselbe Einstellungsfenster auch für eine bereits erstellte Infobase öffnen, wofür Sie mit der rechten Maustaste auf die Infobase klicken und den Menüpunkt „Eigenschaften“ auswählen müssen.


Hier können wir den Beginn von Sitzungen sperren (eine Sperre für einen bestimmten Zeitraum festlegen). Während die Sperre besteht, kann keine Sitzung eine Verbindung zur Datenbank herstellen.


Sie können eine bestimmte Nachricht festlegen, die dem Benutzer beim Herstellen einer Verbindung angezeigt wird.


Diese Option kann beispielsweise verwendet werden, wenn routinemäßige Wartungsarbeiten an der Datenbank durchgeführt werden (normalerweise die Aktualisierung der Datenbank). Wenn sich Administratoren jedoch bei auferlegter Sitzungssperre bei der Datenbank anmelden müssen, müssen Sie die Option „Berechtigungscode“ verwenden. Nach Angabe des Codes ist es in Zukunft möglich, mit der Datenbank zu arbeiten. Stellen wir beispielsweise den Erweiterungscode auf 123 ein, damit wir später auf die Datenbank zugreifen können. Der Parameter muss mit dem Berechtigungscode verwendet werden /UC.


Ein Blockierungsparameter ist ein beliebiger Parameter, der im Programmcode verwendet werden kann. Die Sperrung erfolgt bei Verwendung der Funktion GetSessionLock().

Das Blockieren von Routineaufgaben ist aktiviert – das bedeutet, dass Routineaufgaben nicht in unserer Datenbank ausgeführt werden.

Die besprochenen Optionen werden am häufigsten verwendet. Der Rest wird im Leben sehr selten verwendet und Informationen darüber können auf ITS nachgelesen werden.

Arbeiten mit Verwaltungskonsolensitzungen

In der Verwaltungskonsole können Sie verbundene Sitzungen für eine bestimmte Datenbank sowie allgemeine Sitzungen auf einem bestimmten Cluster verwalten.


Das Sitzungsfenster sieht folgendermaßen aus:

In diesem Fenster können Sie zahlreiche Informationen abrufen, angefangen bei dem Benutzer dieser Sitzung bis hin zu Daten zum Speicherverbrauch für die Sitzung sowie dazu, wie viele DBMS-Daten empfangen wurden, wie viel Prozessorzeit verbraucht wurde und vieles mehr .

Hier können Sie auch Sitzungen beenden (ab Plattformversion 1C:Enterprise 8.3 (8.3.13)) und den Text der Meldung festlegen, die dem Benutzer beim Schließen des 1C Thin Clients angezeigt wird.




Mithilfe von Sicherheitsprofilen können Sie konfigurieren, welche Module mit Erweiterungen erweitert werden können, Erweiterungen auf bestimmte Konfigurationsmodule beschränken, den Zugriff auf das Dateisystem vom Anwendungscode beschränken, den Zugriff auf COM-Objekte, auf externe Komponenten, auf Anwendungen von Drittanbietern usw. beschränken.

Arbeitsabläufe (Clustering)

In der 1C 8.2-Plattform war es möglich, Anwendungsserver-Worker-Prozesse (Rphost-Worker-Prozess) manuell zu erstellen. In 8.3 werden Arbeitsprozesse von Ragent erstellt. Die Anzahl der gleichzeitig laufenden Prozesse kann indirekt über die Einstellungen funktionierender Server gesteuert werden.



Bei Verwendung der Standardeinstellungen wird ein Rphost für 8 Infobases oder 128 Verbindungen verwendet. Wenn Sie ein 32-Bit-Betriebssystem haben (d. h. es gibt Grenzen für den RAM-Verbrauch pro Prozess), wird empfohlen, diese Werte zu ändern, z. B. eine Basis pro Prozess festzulegen und die Anzahl der Verbindungen zu reduzieren. Die optimale Anzahl an Verbindungen wird empirisch ausgewählt und hängt maßgeblich von der konkreten Konfiguration und der Anzahl der Hintergrundjobs ab.

Da es sich um die Eigenschaften von Workflows handelt, sind weitere Einstellungen erwähnenswert:

Wert in Bytes (verfügbar für alle Cluster-Worker-Prozesse auf diesem Worker-Server).

  • -1 – keine Einschränkungen;
  • 0 – wird automatisch als 80 % des RAM des Servers ermittelt.

Sicherer Speicherverbrauch pro Anruf Wert in Bytes.

Kann einen Wert von -1 bis 9.223.372.036.854.775.807 annehmen:

  • -1 – jeder Serveraufruf gilt als gefährlich, wenn während des Serveraufrufs die maximale Speicherkapazität des Arbeitsprozesses erreicht wird;
  • 0 – der Volumenwert wird automatisch als 5 % der maximalen Speicherkapazität der Arbeitsprozesse auf einem bestimmten Arbeitsserver bestimmt.

Wenn während eines Anrufs die Speichermenge den Parameter überschreitet Sicherer Speicherverbrauch pro Anruf, und der Gesamtspeicherverbrauch aller rphost-Prozesse hat den in eingestellten Wert überschritten Maximale Speicherkapazität von Arbeitsabläufen, ein solcher Anruf wird unterbrochen.

Die Menge an Arbeitsspeicher, bis zu der der Server als produktiv gilt, gemessen in Bytes. Ein Wert von 0 gibt an, dass kein Grenzwert festgelegt ist. Die von allen Arbeitsprozessen auf diesem Arbeitsserver belegte Gesamtspeichermenge, bei deren Erreichen keine neuen Verbindungen mehr diesem Arbeitsserver zugewiesen werden.

Flagge Manager für jeden Dienst bedeutet, dass jedem Dienst eine separate Instanz des Cluster-Managers (rmngr-Prozess) zugewiesen wird. Liste der Dienste, die im Cluster ausgeführt werden:


Flagge Zentraler Server bedeutet, dass dieser Server Verbindungen herstellen und die Cluster-Registrierung synchronisieren kann.

Workflow-Einstellungen können nur bei Verwendung von CORP-Lizenzen genutzt werden! Wenn Sie über eine PRO-Lizenz verfügen, sind die Einstellungen verfügbar, Sie haben jedoch nicht die Rechte, sie zu verwenden.

Konsolidierung von Servern zu einem Cluster

1C-Server können zu einem Cluster zusammengefasst werden, um Probleme der Skalierbarkeit (Lastverteilung) und Fehlertoleranz zu lösen. Es ist einfach, Server zu einem Cluster zusammenzufassen; Sie müssen lediglich einen funktionierenden Server erstellen.


Wenn die Option „Zentraler Server“ auf dem neuen Server nicht installiert ist, gilt ein solcher Server als funktionsfähig und kann keine Sitzungsverbindungen akzeptieren. Diese Architektur der Serverinteraktion dient der Skalierbarkeit; sie kann nicht fehlertolerant sein, da hierfür zentrale Server vorhanden sein müssen und der Grad der Fehlertoleranz in den Clustereigenschaften angegeben werden muss.



Die Fehlertoleranzstufe wird als Anzahl der zentralen Server -1 festgelegt.

Im Einstellungsfenster können Sie außerdem Beschränkungen für den Ressourcenverbrauch pro Arbeitsprozess (rphost) festlegen. Die Einstellungen werden für den gesamten Cluster festgelegt.


Neustartintervall– Intervall in Sekunden, nach dem der Workflow neu gestartet wird. Der Countdown beginnt ab dem Zeitpunkt der Installation dieser Option.

Erlaubte Speichergröße Es sollte auf der Grundlage festgelegt werden, dass bei Auslösen der Bedingung für das Überschreiten des Indikators ein weiterer Rphost-Prozess derselben Größe gestartet wird, d. h. Zu diesem Zeitpunkt werden wir zwei Prozesse haben, bis die Verbindungen vom alten auf den neuen umgestellt werden.

Intervall für die Überschreitung der zulässigen Speichermenge– Intervall in Sekunden, in dem der im Parameter festgelegte Speicherverbrauch zulässig ist Erlaubte Speichergröße.

Intervall für die Überschreitung der zulässigen Speichermenge. Wenn der Wert der Eigenschaft „Server Error Count Tolerance“ 0 ist, wird die Fehleranzahl-Varianzprüfung nicht durchgeführt. Unabhängig vom für diese Eigenschaft festgelegten Wert gilt ein Workflow, der nicht mehr als 1 Fehler pro 100 Anfragen macht, als normal funktionierend und nicht als problematisch. Schauen wir uns ein Beispiel an, wie die Eigenschaft „Tolerierbare Abweichung bei der Anzahl der Serverfehler“ funktioniert. Nehmen wir an, dass bei 100 Anfragen durchschnittlich 2 Fehler in den letzten 5 Minuten aufgezeichnet werden. Wenn die Eigenschaft „Zulässige Abweichung in der Anzahl der Serverfehler“ auf 50 gesetzt ist, wird der Workflow, bei dem mehr als 3 Fehler pro 100 Anfragen aufgezeichnet werden, als problematisch angesehen.

Prozesse werden „sanft“ neu gestartet:

  • Ein neuer rphost-Prozess wird gestartet;
  • Der alte rphost-Prozess wird abgebrochen, aber nicht beendet;
  • Verbindungen werden dem neu erstellten rphost-Prozess zugewiesen, der sofort voll funktionsfähig ist;
  • Der alte Prozess unterstützt bestehende Aufrufe. Bereits zugewiesene Anrufe werden für die im Parameter angegebene Zeit unterstützt „Prozesse stoppen, die danach ausgeschaltet werden“ Sekunden

Wenn wir mehrere Server zu einem Cluster zusammenfassen, können wir bestimmte Dienste auf separate Server verschieben. Beispielsweise können wir die Arbeit von Hintergrundjobs auf einen separaten Server verlagern oder einen Lizenzserver erstellen (einen Server, der Clientlizenzen verteilt). Eine vollständige Liste der Dienste, die der Server ausführt und die neu zugewiesen werden können:


Die Zuweisung eines Dienstes zu einem bestimmten Produktionsserver erfolgt durch Anforderungen für die Funktionszuweisung.



In dem Artikel wurden die Hauptfunktionen der Verwaltungskonsole besprochen, dieses Thema ist jedoch sehr umfangreich und umfassende Informationen zu den spezifischen Funktionen des Verwaltungsdienstprogramms finden Sie auf ITS.

Drucken (Strg+P)

Dieser Artikel enthält eine Beschreibung einiger Elemente der 1C:Enterprise-Systemverwaltung, die typisch für die Client-Server-Version des Systems sind, auf dem Microsoft SQL Server 2012 ausgeführt wird:

Erstellen einer Sicherungskopie in der Client-Server-Version

Server-Cluster-Verwaltung

Die Cluster-Verwaltungskonsole oder das Dienstprogramm 1cv8 Servers.msc ist ein MMC-Plugin (Microsoft Management Console) und kann auf Computern verwendet werden, auf denen die entsprechende Software installiert ist. Standardmäßig wird es im Ordner C:\Programme (x86)\1cv8\common installiert

Dienstprogramm zur Clusterverwaltung Entwickelt, um die folgenden Probleme zu lösen:

  • Erstellen, Ändern und Löschen von Serverclustern;
  • Modifikation bestehender Cluster: Erstellen, Ändern von Parametern und Löschen von Arbeitsservern, Zuweisen von Funktionsanforderungen an Arbeitsserver;
  • Festlegen des Cluster-Fehlertoleranzniveaus;
  • manuelle Lastanpassung auf einzelnen Arbeitsservern;
  • Verwalten von Administratorenlisten zentraler Clusterserver und Listen von Clusteradministratoren;
  • Überwachung von Benutzerverbindungen zu Informationsdatenbanken und Dienstverbindungen;
  • Trennen von Benutzern von der Informationsbasis;
  • Überwachung von 1C:Enterprise 8-Objektsperren und Client-Verbindungssperren;
  • Betriebsanalyse von Transaktionssperren des Datenbankverwaltungssystems;
  • Verwaltung der Blockierung von Benutzerverbindungen mit Informationsbasis;
  • Verwaltung der Blockierung von Routineaufgaben.

In diesem Artikel werde ich nur die Registrierung einer neuen Informationsdatenbank in Betracht ziehen

Registrierung einer neuen Informationsbasis

Um eine neue Infobase mit dem Server-Cluster-Verwaltungsdienstprogramm zu registrieren, wählen Sie den gewünschten zentralen Server, den auf diesem Server registrierten gewünschten Cluster, den Infobases-Zweig in der zentralen Serverstruktur aus und führen Sie den Kontextmenübefehl „Erstellen – Infobase“ oder einen ähnlichen Befehl im aus Hauptmenü des Dienstprogramms.

Als Ergebnis der Ausführung des Befehls erscheint das Dialogfeld mit den Eigenschaften der Infobase auf dem Bildschirm.

Die Parameter der Infobase entsprechen den Parametern einer neuen Infobase, die über das Startfenster von 1C:Enterprise erstellt wurde.

Typ DBMS: Microsoft SQL Server.

Datenbankserver: Servername. Kann durch den Computernamen (wenn eine Serverinstanz auf dem Computer installiert ist) oder den Namen einer bestimmten Instanz (wenn mehrere Instanzen installiert sind) angegeben werden. Beispiel: Server/Instanz. Wenn sich der 1C:Enterprise-Server und Microsoft SQL Server auf demselben Computer befinden und der Native Client (Native Client) für Microsoft SQL Server installiert ist, ist es möglich, das SHARED MEMORY-Protokoll für die Kommunikation zwischen den Servern zu verwenden. Dazu müssen Sie das Präfix lpc: vor dem Microsoft SQL Server-Namen angeben. In diesem Fall sieht der Name des DBMS-Servers wie folgt aus: lpc:Server/instance

Name der Datenbank: Das erste Zeichen des Datenbanknamens kann ein Buchstabe des lateinischen Alphabets sowie das Zeichen „_“ sein. Nachfolgende Zeichen können Buchstaben des lateinischen Alphabets, Zahlen sowie die Symbole „_“, „$“ sein. Die Namenslänge ist auf 63 Zeichen begrenzt. Leerzeichen sind im Namen nicht erlaubt. Der Name darf kein reserviertes Wort in der Abfragesprache des Datenbankservers sein. Die folgenden Zeichen dürfen im Datenbanknamen nicht verwendet werden: „<», «>"", "#", "%", """, "(", ")", "[", "]", "|", "\", "^", "`", sowie Zeichen mit Codes von 0 bis 31 und 127

Datenbankbenutzer: der Name des Datenbankserverbenutzers, in dessen Namen auf die Datenbank zugegriffen wird. Es ist wichtig, dass der angegebene Benutzer entweder der Datenbankserver-Administrator (sa) oder der Eigentümer der Datenbank (falls bereits vorhanden) ist, um die Struktur der ausgewählten Datenbank in Zukunft frei ändern zu können. Im letzteren Fall muss dieser Benutzer Lesezugriff auf die Master-Datenbank und vollen Zugriff auf die tempdb-Datenbank haben. Darüber hinaus muss der angegebene Benutzer Mitglied der festen Serverrolle „processadmin“ oder „sysadmin“ sein.

Benutzer-Passwort: Passwort des Benutzers, in dessen Namen auf die Datenbank zugegriffen wird.

Datumsversatz– 0 oder 2000. Dieser Parameter bestimmt die Anzahl der Jahre, die zu Datumsangaben addiert werden, wenn sie in der Microsoft SQL Server-Datenbank gespeichert werden, und subtrahiert werden, wenn sie abgerufen werden. Das Vorhandensein dieses Parameters wird durch die Besonderheiten der Datumsspeicherung in Microsoft SQL Server bestimmt. Mit dem in Microsoft SQL Server verwendeten DATETIME-Typ können Sie Daten im Bereich vom 1. Januar 1753 bis zum 31. Dezember 9999 speichern. Und wenn bei der Arbeit mit einer Infobase möglicherweise Daten gespeichert werden müssen, die vor der Untergrenze dieses Bereichs liegen, sollte als Parameterwert 2000 ausgewählt werden. Wenn solche Daten nicht angetroffen werden, kann 0 als Parameterwert ausgewählt werden Datumsoffset. Nach dem Erstellen der Infobase der Wert dieser Parameter NichtÄnderungen vorbehalten.

AUFMERKSAMKEIT! Wenn die Anwendungslösung Akkumulationsregister oder Abrechnungsregister verwendet, muss das Feld Datumsoffset auf 2000 gesetzt werden. Wenn beim Erstellen der Datenbank in diesem Feld der Wert 0 eingegeben wurde, sollte die Infobase in eine Datei hochgeladen werden und die Die Datenbank sollte neu erstellt werden und im Feld „Versatzdaten bis 2000“ angeben und die Infobase laden

AUFMERKSAMKEIT! Infobase-Namen müssen innerhalb desselben Clusters eindeutig sein. Bei der Registrierung einer neuen Infobase prüft das System, ob auf dem angegebenen Datenbankserver eine gleichnamige Datenbank vorhanden ist. Wenn die Datenbank vorhanden ist, wird eine Verbindung zu ihr hergestellt. Wenn die bestehende Datenbank bereits Daten aus der 1C:Enterprise-Infobase enthält, wird eine Verbindung mit der bereits bestehenden Infobase hergestellt. Und wenn die Datenbank keine Infobase-Daten enthält, wird darin eine neue 1C:Enterprise-Infobase initialisiert.

Fehler beim Ausführen einer Operation mit der Infobase

Beim Herstellen einer Verbindung zu einer SQL-Datenbank können verschiedene Erstellungs- oder Verbindungsfehler auftreten. Wenn beispielsweise der folgende Fehler auftritt:

In diesem Fall wurde versucht, eine Infobase zu erstellen, und der Unternehmensserver konnte keine Verbindung zum Microsoft SQL Server herstellen. Muss geprüft werden:

  • Ben(Name, Passwort und Rechte zum Erstellen einer Datenbank);
  • Entspricht der Datenbankname den Namenskonventionen?
  • Ist der Name des Datenbankservers richtig eingestellt?
  • Entspricht dem Authentifizierungstyp des Benutzers. Möglicherweise ist der Benutzer unter dem SQL-Server-Benutzernamen angemeldet und in den SQL-Einstellungen ist der falsche Benutzerauthentifizierungstyp festgelegt.

In diesem Artikel machen wir uns mit dem Server-Cluster-Verwaltungsserver und insbesondere mit den Dienstprogrammen vertraut rac.exe Und ras.exe sowie Programme Deployka Mit dessen Hilfe wird es möglich, einen Cluster von 1C:Enterprise-Servern über die Befehlszeile zu verwalten.

Traditionell empfehle ich jedem, der zu faul zum Lesen ist, sich ein Webinar zu diesem Thema anzusehen

Nun, im Übrigen willkommen zum Schnitt:

1. Allgemeine Information

Verwalten Sie einen Cluster von Servern der 1C:Enterprise-Version 8.3 Dies ist sowohl über die Verwaltungskonsole des 1C-Servers als auch über die Befehlszeile möglich. Für diese Zwecke dient es Servercluster-Verwaltungsserver, das aus zwei Dienstprogrammen besteht: dem Server selbst – dem Programm rac.exe und Befehlszeilen-Dienstprogramme rac.exe, das Ihnen durch Zugriff auf den zuvor ausgeführten RAS-Server die Durchführung verschiedener Vorgänge mit einem Cluster von 1C:Enterprise-Servern ermöglicht.

Weitere Informationen zu diesem Mechanismus finden Sie im Buch „Administrator’s Guide“, das der Plattform beiliegt. Client-Server-Option“ (bzw. entsprechend auf der ITS-Website).

Und das allgemeine Schema, wie dieser Link funktioniert, sieht so aus:

Der Administrationsserver muss sein gleiche Version, als Version des 1C:Enterprise-Serverclusters, und kann gleichzeitig mit einem Servercluster verbunden werden manche Es kann jedoch nur ein bestimmter Verwaltungsserver kommunizieren mit nur einem Serveragent.

Sowohl der Administrationsserver als auch das Befehlszeilendienstprogramm können auf jedem Betriebssystem ausgeführt werden, das von der 1C:Enterprise-Plattform unterstützt wird. In diesem Artikel beschränken wir uns jedoch nur auf die Windows-Betriebssystemfamilie.

2. Installation der Administrationsserverkomponenten

Sowohl der Server selbst als auch das Verwaltungsdienstprogramm sind in den 1C:Enterprise-Serverkomponenten enthalten. Dementsprechend sind sie auf einem Computer, auf dem der 1C:Enterprise-Server-Agent-Dienst ausgeführt wird sollte bereits installiert sein Default.

Um dies zu überprüfen, gehen Sie einfach in das Verzeichnis mit den 1C:Enterprise-Serverdateien und suchen Sie darin die entsprechenden Dienstprogramme (der Einfachheit halber können die Dateien nach Typ gruppiert werden).

Ich habe ausführlich über die Installation eines 1C:Enterprise-Servers geschrieben.

Installieren Sie den Administrationsserver auf einem Computer, auf dem Sie ihn zuvor installiert haben war nicht Der 1C:Enterprise-Server ist installiert. Sie müssen das 1C-Server-Installationsverteilungskit ausführen und das Element als Teil der Komponenten auswählen „Server 1C:Enterprise 8“.

Darüber hinaus bietet der Installationsassistent bei Auswahl dieser Komponente im nächsten Schritt an, den 1C:Enterprise-Server als Windows-Dienst zu installieren. Ab diesem Punkt natürlich sollte aufgegeben werden durch Entfernen der entsprechenden Flagge.

Nach der Installation müssen Sie sicherstellen, dass alle erforderlichen Komponenten in der oben beschriebenen Weise verfügbar sind.

3. Starten des Administrationsservers

Zum Erhalten genaue Information Sie können die Hilfe mit dem Dienstprogramm ras.exe aufrufen, indem Sie den Befehl ausführen

Aus der Hilfe können Sie ersehen, dass der Administrationsserver wie folgt funktionieren kann Anwendungsmodus, so und wie Windows-Dienst(Parameter Service ). Wir können auch den Netzwerkport festlegen, auf dem der Administrationsserver ausgeführt wird (Parameter Hafen , der Standardport wird verwendet 1545 ), und für den Clusterverwaltungsmodus lautet der Modus Cluster . Hilfe für diesen Modus können Sie mit dem Befehl aufrufen:

rac-Hilfecluster

Dann werden wir sehen, dass dieser Modus die Adresse des 1C:Enterprise Server-Cluster-Agenten als Argument angibt. Die Standardeinstellung ist localhost:1540.

Wenn also der Administrationsserver auf demselben Computer gestartet wird, auf dem der 1C:Enterprise-Serveragent ausgeführt wird, reicht es aus, den Befehl auszuführen

Nun, wenn Sie eine Verbindung zu einem Serveragenten herstellen müssen, der beispielsweise auf einem Computer mit dem Netzwerknamen läuft Server1C, und der Agent arbeitet an einem nicht standardmäßigen Port 2540 , dann lautet der Befehl wie folgt:

rac-Cluster server1c:2540

4. Starten des Administrationsservers als Windows-Dienst

Um den Administrationsserver nicht jedes Mal manuell starten zu müssen, ist es natürlich praktisch, ihn einmalig als Windows-Dienst zu starten. Doch leider haben die Plattformentwickler nicht die Möglichkeit implementiert, den entsprechenden Dienst automatisch im System zu registrieren, wie es beispielsweise der Fall war. Um einen Dienst hinzuzufügen, wird empfohlen, das Systemdienstprogramm zu verwenden sc. Schauen wir uns diesen Prozess etwas genauer an.

Dies sei ein lokaler Benutzer mit dem Namen USR1CV8_RAS und Passwort Pass123

Register-ras.bat-Datei:

@echo aus rem %1 – Vollversionsnummer von 1C:Enterprise set SrvUserName=.\USR1CV8_RAS set SrvUserPwd="Pass123" set CtrlPort=1540 set AgentName=localhost set RASPort=1545 set SrvcName="1C:Enterprise 8.3 Remote Server" set BinPath="\"C:\Program Files\1cv8\% 1 \bin\ras.exe\" Cluster --service --port=% RASPort % % AgentName % :% CtrlPort % " set Desctiption="1C:Enterprise 8.3 Remote Server" sc stop % SrvcName % sc delete % SrvcName % sc create % SrvcName % binPath= % BinPath % start= auto obj= % SrvUserName % password= % SrvUserPwd % displayname= % Desctiption %

In der Datei geben wir an:

  • Benutzername und Passwort, unter denen der Dienst gestartet wird – Variablen SrvUserName Und SrvUserPwd
  • Adresse und Port des Serveragenten, den wir verwalten werden – Variablen Agentenname Und StrgPort
  • Sowie der Name des Dienstes und der Netzwerkport, auf dem der Administrationsserver ausgeführt wird – Variablen RASPort Und SrvcName . Eine Änderung dieser Parameter ist nur dann sinnvoll, wenn Sie mehrere Administrationsserver parallel betreiben möchten, um beispielsweise verschiedene 1C-Server zu bedienen.

Der einzige Parameter der bat-Datei ist die aktuelle Version der 1C:Enterprise-Plattform. Um einen Dienst zu erstellen, starten Sie daher die Befehlszeile mit Administratorrechten und führen Sie die zuvor erstellte Datei aus register-ras.bat, vergessen Sie nicht, die erforderliche Version der Plattform anzugeben.

Wir prüfen, ob ein Dienst mit dem angegebenen Namen im System aufgetaucht ist. Und wir starten es sofort, indem wir den entsprechenden Eintrag im Kontextmenü auswählen.

Damit ist die Installation des Administrationsservers als Dienst abgeschlossen.

5. Verwalten eines Serverclusters mit dem Dienstprogramm rac.exe

Also haben wir den Administrationsserver installiert. Die Interaktion mit dem Server erfolgt über ein spezielles Konsolendienstprogramm rac.exe. Lassen Sie uns den Befehl ausführen

um Hilfe für dieses Programm zu erhalten.

Wie Sie der Hilfe entnehmen können, verfügt das Dienstprogramm über ein gemeinsames Argument, das die Adresse des Administrationsservers angibt (standardmäßig). localhost:1545) und viele Betriebsmodi: zur Verwaltung des Server-Cluster-Agenten, des Clusters selbst, des Cluster-Managers, Worker-Prozesse usw. Hilfe zu jedem Modus kann mit dem entsprechenden Befehl aufgerufen werden.

Es macht offensichtlich keinen Sinn, alle Betriebsarten zu beschreiben. Ich werde nur einige Arbeitsbeispiele nennen.

Eine Liste mit Informationen zu Clustern abrufen:

Abrufen einer Liste von Infobases auf einem bestimmten Servercluster:

Empfangen einer Liste von Verbindungen mit der angegebenen Infobase:

Mit dem Verwaltungsdienstprogramm können Sie alle für die Verwaltung eines Serverclusters erforderlichen Arbeiten ausführen, mit Ausnahme der Betriebssystemauthentifizierung für Servercluster-, Produktionsserver- und Infobase-Administratoren.

6. Software-Wrapper für die Arbeit mit dem Administrationsserver

Wie Sie an den Beispielen sehen können, macht die Arbeit über die Kommandozeile mit dem Dienstprogramm rac immer noch Spaß. Dieser Mechanismus wurde jedoch nicht für die manuelle Steuerung geschaffen. Auf der ITS-Website gibt es beispielsweise ein Java-Archiv, das Ihnen die Interaktion mit dem Verwaltungsserver über ein Programm in Java ohne die Hilfe eines Koermöglicht. Sie können dieses Paket herunterladen.

Die Hauptsache ist, dass wir die Möglichkeit haben, verschiedene Anweisungen auf einem Cluster von 1C-Servern über die Befehlszeile auszuführen. Das bedeutet, dass Sie die notwendigen Funktionen für die Interaktion mit einem Cluster von 1C:Enterprise-Servern zu verschiedenen Programmen, Verarbeitungen oder Skripten hinzufügen können.

Beispielsweise kann unter anderem etwas, das in der Sprache geschrieben ist, mit dem Administrationsserver funktionieren. OneScript Programm Deployka.

Ich habe bereits über die OneScript-Skip-Engine gesprochen.

Erfahren Sie mehr über das Deployka-Programm.

Nun ja, so viel wie möglich vollständige Rezension Alle verfügbaren Bibliotheken und in OneScript geschriebenen Anwendungen werden in diesem Artikel aufgeführt.

7. Installation und Konfiguration mit dem Deployka-Programm

Der Installationsalgorithmus für OneScript und Deployka wird in den Artikeln unter den im vorherigen Absatz angegebenen Links ausführlicher erläutert. Kurz gesagt besteht es aus folgenden Punkten:

1. Laden Sie die OneScript-Distribution von der offiziellen Website herunter.

2. Wir installieren gemäß den Anweisungen des Assistenten.

3. Wir melden uns wieder am System an, damit die neuen Umgebungsvariablen angewendet werden.

4. Wir starten die Befehlszeile mit Administratorrechten und prüfen, ob die vorherigen Schritte von der Befehlszeile korrekt ausgeführt werden

5. Installieren des Deployka-Programms mit dem Paketmanager opm indem Sie den Befehl ausführen

opm install Deployka

6. Wir überprüfen, ob alles funktioniert, indem wir mit dem Befehl die „Deployment“-Hilfe aufrufen

7. Das ist im Grunde alles. Alle Betriebsarten des Programms sind auf dem Bildschirm sichtbar. Lesen Sie anschließend die Hilfe auf der Website oder in der Konsole und rufen Sie mit dem entsprechenden Befehl den Hinweis für jeden Modus auf:

So können Sie beispielsweise alle Sitzungen in einer bestimmten Infobase beenden und anschließend den Start von Sitzungen blockieren.

Deployka Session Kill -db Accounting_Demo -rac "C:\Program Files\1cv8\8.3.11.2867\bin\rac.exe" -db-user "AbramovGS (Direktor)"

8. Jetzt können Sie das „Deployment“ in Ihren Skripten verwenden. Ein Skript zum Aktualisieren einer Infobase aus einem Repository, zum Trennen von Benutzern und zum Aktualisieren der Datenbank könnte beispielsweise so aussehen:

@echo weiter rem Legen Sie die Werte von Variablen fest set ServerName="1CAPP:2541" set RacPath="C:\Program Files\1cv8\8.3.11.2954\bin\rac.exe" set uccode="123" set BaseName="ERP_Test" set UserName="Admin" set UserPass ="Pass123" set ConStr="/1CAPP:2541\ERP_Test" set RepoPath="tcp://1CAPP/ERP_DEV" set RepoUserName="test" set RepoUserPass="123" rem Benutzer beenden Call Deployka Session Kill -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode % rem Aktualisieren Sie die Datenbankkonfiguration aus dem Repository Call Deployka Loadrepo % ConStr % % RepoPath % -db-user % UserName % -db-pwd % UserPass % -storage-user % RepoUserName % -storage-pwd % RepoUserPass % -uccode % uccode % rem Aktualisiert die Datenbankkonfiguration Call Deployka dbupdate % ConStr % -db-user % UserName % -db-pwd % UserPass % -uccode % uccode % rem Sitzungen entsperren Call Deployka Session Unlock -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode %

Vielen Dank an alle, die bis zum Ende gelesen haben. Schreiben Sie, wenn Sie Fragen haben.

Hat Ihnen dieser Artikel geholfen?