1C 엔터프라이즈 서버 관리용 콘솔. 1C Enterprise 서버 관리. 정보베이스로 작업을 수행할 때 오류가 발생했습니다.

사랑하는 독자 여러분, 안녕하세요.

오늘은 펀드에 대해 이야기해보겠습니다. 서버 관리 1C:기업.

1C:Enterprise는 다음을 지원합니다.
클라이언트 - 서버 버전의 작업
작품의 파일 버전

클라이언트-서버 모드에서 작업할 때 1C:Enterprise 서버 클러스터를 사용하여 3단계 아키텍처가 사용되며, 이를 통해 1C:Enterprise의 클라이언트 부분과 DBMS 간의 통신이 수행됩니다.

서버 1C에는 자체 사용자 인터페이스가 없습니다. 다양한 수단, 표준을 고려하십시오 클라이언트-서버 관리 유틸리티, 에 설치할 수 있습니다.

공익사업 서버 관리 1C:엔터프라이즈또는 1C 서버 콘솔

1C 서버 콘솔의 주요 작업:

  • 프로덕션 서버 생성, 삭제 및 변경
  • 관리자 창설
  • 클러스터 작업자 프로세스 생성, 삭제
  • 정보 보안 생성 및 삭제
  • 세션을 강제 종료합니다.
  • 새로운 연결을 차단합니다.

1C 서버 관리 콘솔의 주요 사항을 간략하게 살펴 보겠습니다.

중앙 1C 서버 만들기

에게 새 중앙 서버 추가 1C:Enterprise 8.2 먼저 중앙 1C 서버 라인을 강조 표시하여 상황에 맞는 메뉴를 사용합니다.

1C 서버 이름이나 IP 주소를 입력해야하는 창이 나타납니다.

1C 서버 관리자 생성

안에 지점 관리자서버 관리자가 추가되었습니다. 관리자는 자신의 서버만 관리할 수 있는 권한을 가집니다. 클러스터를 관리하기 위해 관리자일 필요는 없습니다. 관리자가 추가되지 않은 경우 로그인한 모든 사람이 서버를 관리할 수 있습니다.

1C 클러스터 워크플로우 생성

작동 중인 서버여기에서 작업자 프로세스를 추가하고 제거하여 사용자 세션을 작업자 프로세스 전체에 분산시켜 성능에 영향을 줄 수 있습니다.

프로세스 속성을 보면 다음과 같은 내용이 표시됩니다.
성능: 최대 1000까지의 숫자가 표시되며 기본값은 1000입니다. 최대 성능을 가진 프로세스에 새 세션이 연결되고 N분마다 시스템 자체가 실제 프로세서 로드를 확인하여 성능 수치를 재정렬합니다.
속성 활성화됨: 여기서는 프로세스 활동이 모니터링되며 다음 값을 사용할 수 있습니다. 사용, 사용하지 않음, 백업으로 사용

정보 보안 생성 및 삭제

스레드에서 정보 기반연결된 데이터베이스가 표시되면 데이터베이스를 삭제하거나 새 데이터베이스를 생성할 수 있습니다.
데이터베이스의 속성을 살펴보면 다음과 같은 내용을 볼 수 있습니다.

세션 시작 차단이 활성화되었습니다.– 이 데이터베이스에 대한 연결 금지를 설정합니다.
메시지– 차단된 상태에서 가입하려고 할 때 발급됩니다.
허가 코드– 연결이 차단된 경우 연결을 허용합니다.

1C 사용자 세션 종료

일반적으로 세션 분기전체 클러스터에 대한 세션 목록을 볼 수 있습니다. 별도의 정보 베이스에 대한 세션을 보려면 원하는 정보 보안을 선택하고 해당 세션을 확인해야 합니다.


대부분의 경우 클라이언트-서버 버전에서 1C:Enterprise 8.x를 설치하려면 1C:Enterprise 8.x 설치 프로그램을 실행하면 충분합니다. 이 경우 1C:Enterprise 서버는 정상적인 작동에 필요한 표준 매개변수 값을 수신합니다.

1C:Enterprise 서버 설치에 대해 좀 더 자세히 살펴보겠습니다. 1C:Enterprise 8.x 서버를 설치하는 동안 1C:Enterprise 8.x 설치 프로그램은 다음 작업을 수행합니다.

* 1C:Enterprise 서버 부팅 모듈을 1C:Enterprise 설치 프로그램에서 최종 폴더로 지정한 디렉터리에 복사합니다.
* 설치 시 "사용자 USR1CV81 생성"을 선택한 경우 USR1CV81 사용자가 생성됩니다. 1C:Enterprise 8.1 서버는 서비스로 실행되는 경우 이 사용자를 대신하여 실행됩니다. 1C:Enterprise 서버에 필요한 리소스에만 액세스할 수 있습니다. 1C:Enterprise 서버가 작동하려면 두 개의 디렉터리, 즉 서버 데이터가 있는 일반 디렉터리(일반적으로 "C:\Program Files\1cv81\server")와 임시 파일 디렉터리(일반적으로 "C:\Documents and Settings")가 필요하다는 것이 중요합니다. \usr1cv81\로컬 설정 \Temp" 또는 "C:\WINNT\Temp"). 사용자 USR1CV81은 서버 데이터가 있는 공유 디렉터리에 대한 권한을 받습니다. 임시 파일 디렉터리는 일반적으로 모든 사용자가 액세스할 수 있습니다.
* 설치 과정에서 "1C:Enterprise 8.1 서버를 Windows 서비스로 설치"가 활성화된 경우 1C:Enterprise 서버 에이전트 서비스를 Windows에 등록하고 시작합니다. 처음 시작하면 1C:Enterprise 서버 클러스터가 기본 설정으로 생성됩니다. 하나의 작업자 서버와 하나의 작업자 프로세스가 있습니다. 작업 서버 주소는 설치가 수행된 컴퓨터의 이름과 일치합니다.

USR1CV81 또는 USR1CV82 사용자 및 그의 권리

1C:엔터프라이즈 서버는 누군가가 로그인한 경우 대화형 모드로 서버 컴퓨터에 로그인한 사용자에 따라 작업이 의존되어서는 안되는 서버 응용 프로그램입니다. 따라서 1C:Enterprise 서버를 설치할 때 대화형 로그인용이 아닌 1C:Enterprise 서버에 필요한 최소 권한을 부여받은 특수 사용자 USR1CV81을 생성하는 것이 좋습니다. 1C:Enterprise 서버는 사용자 USR1CV81에 의해 Windows 시스템에 제공됩니다.

사용자 USR1CV81에 대해 설정된 권한을 자세히 살펴보겠습니다. 1C:엔터프라이즈 서버는 다음 디렉터리를 사용합니다.

* 로드 모듈 디렉터리는 다음 디렉터리에 있습니다. 주어진 프로그램 1C:Enterprise를 최종 폴더로 설치합니다. 여기에는 1C:Enterprise 서버의 로딩 모듈이 포함되어 있습니다. 사용자 USR1CV81에는 이 디렉터리와 해당 하위 디렉터리에서 데이터를 읽고 프로그램을 실행할 수 있는 권한이 필요합니다. 사용자 그룹에 포함되어 암시적으로 이러한 권한을 받습니다.
* 서버 데이터 디렉터리의 이름은 일반적으로 "C:\Program Files\1cv81\server"입니다. 사용자 USR1CV81에는 이 디렉터리에 대한 모든 권한이 필요합니다. 사용자 USR1CV81을 생성할 때 1C:Enterprise 설치 프로그램은 그에게 이 디렉토리에 대한 권한을 부여합니다.
* 임시 파일 디렉터리의 이름은 일반적으로 "C:\Documents and Settings\usr1cv81\Local Settings\Temp" 또는 "C:\WINNT\Temp"로 명명되며, 이는 사용자 환경 TEMP 변수 값이나 시스템 환경 TEMP에 따라 결정됩니다. 변하기 쉬운. 시스템 속성 대화 상자(시작 -> 설정 -> 제어판 -> 시스템 -> 고급 -> 환경 변수)에서 이 변수의 값을 볼 수 있습니다. 1C:Enterprise 설치 프로그램은 사용자 USR1CV81에게 이 디렉토리에 대한 모든 권한을 부여합니다. 보통 언제 Windows 설치임시 파일 디렉토리는 액세스 목록에 CREATOR OWNER 그룹을 포함하여 모든 사용자가 액세스할 수 있습니다. 그러나 이 액세스 권한은 완전하지 않습니다. 특히, 모든 사용자가 이 디렉터리에 있는 파일을 검색할 수 있는 것은 아닙니다. 사용자 USR1CV81에게 임시 파일 디렉터리에 대한 전체 권한을 설정하면 1C:Enterprise 서버가 필요한 모든 작업을 수행할 수 있습니다. 보안 탭의 디렉터리 속성 대화 상자에서 액세스 목록을 볼 수 있습니다. CREATOR OWNER 그룹이 있으면 이 디렉터리에 파일을 생성하거나 이 디렉터리에 있는 파일을 소유하는 모든 사용자가 디렉터리에 액세스할 수 있습니다. 이 경우 생성된 파일의 접근 목록에는 CREATOR OWNER 그룹 대신 파일을 생성한 사용자가 기록됩니다. 이 디렉터리에 대한 접근이 허용된 사용자 중에는 이 디렉터리에 대한 모든 권한을 가진 사용자 USR1CV81이 있어야 합니다.
특정 사용자(사용자 USR1CV81 포함)의 임시 파일 디렉터리는 해당 사용자의 환경 변수와 시스템 환경 변수의 조합에 의해 결정된다는 점을 명심하는 것이 중요합니다. 이 디렉터리를 찾기 위해 1C:Enterprise 설치 프로그램은 사용자 컨텍스트 USR1CV81을 요청합니다. Windows 2000에서 이 작업을 수행하려면 1C:Enterprise 설치 프로그램을 대신 실행하는 사용자에게 다음 권한이 필요할 수 있습니다. 운영 체제의 일부로 작동하고 트래버스 검사를 우회합니다. 로컬 정책 -> 사용자 권한 할당 분기의 로컬 시퀀스 설정 유틸리티를 사용하여 사용자 권한을 확인할 수 있습니다. 새 소프트웨어를 설치할 때 설치 프로그램은 일반적으로 이러한 권한을 자동으로 얻습니다.

1C:Enterprise 서버를 Windows 서비스로 등록


1C:Enterprise Server는 간단한 Windows 콘솔 애플리케이션이며 대화형으로 시작할 수 있습니다. 그러나 지속적으로 사용하려면 비활성 사용자가 서버 컴퓨터에 로그인하여 1C:Enterprise 서버를 시작해야 하기 때문에 불편합니다. 이러한 종속성을 제거하기 위해 1C:Enterprise 서버를 Windows 서비스로 시작할 수 있습니다. 이렇게 하려면 Windows 서비스 관리자에 등록되어 있어야 합니다.

Windows 서비스 및 해당 매개변수 목록을 보려면 구성요소 서비스 유틸리티(시작 -> 설정 -> 제어판 -> 관리 도구 -> 서비스)를 사용하십시오. 1C:Enterprise 서버는 서비스 목록에 "1C:Enterprise Server Agent 8.1" 서비스로 표시됩니다. 서비스 매개변수는 1C:Enterprise Server Agent 프로세스(ragent)의 시작, 해당 이름으로 시작된 사용자 및 긴급 상황에서 다시 시작하는 방법을 결정합니다.

"1C:Enterprise 8.1 서버 에이전트" 서비스의 속성 대화 상자에 있는 일반 탭에는 1C:Enterprise 서버 에이전트인 ragent 프로세스를 시작하기 위한 줄이 표시됩니다. 일반적으로 이 줄은 다음과 같습니다.


그것은 다음과 같이 말합니다:

* 서버 에이전트 프로세스는 부팅 모듈 "C:\Program Files\1cv81\bin\ragent.exe"입니다.
* ragent 프로세스는 Windows 서비스로 실행되며 서비스 관리자(-srvc)에 의해 관리되어야 합니다.
* 1C:엔터프라이즈 서버 에이전트(-agent)로 사용됩니다.
* 최초 서비스 시작 시 기본 파라미터와 기본 IP 포트 번호 1541(-regport 1541)을 사용하여 클러스터를 생성해야 합니다. 이 포트를 사용하여 클라이언트 응용 프로그램은 클러스터에 등록된 정보 베이스에 연결해야 합니다.
* 서버 에이전트 IP 포트는 1540번(-포트 1540)으로 되어 있어야 합니다. 이 포트를 사용하면 클러스터 콘솔이 중앙 서버에 연결되어 관리 기능을 수행해야 합니다.
* 이 서버에서 클러스터 프로세스가 시작되면 1560-1591 범위(-범위 1560:1591)의 IP 포트가 동적으로 할당됩니다.
* 일반 클러스터 데이터는 "C:\Program Files\1cv81\server" 디렉터리(-d "C:\Program Files\1cv81\server")에 위치합니다.

"1C:Enterprise 8.1 서버 에이전트" 서비스는 1C:Enterprise 8.1 설치 프로그램을 사용하여 1C:Enterprise를 설치하거나 제거할 때뿐만 아니라 수동으로도 추가하거나 제거할 수 있습니다. 이를 수행하려면 적절한 매개변수를 지정하여 명령줄에서 ragent 유틸리티를 실행할 수 있습니다.

서비스를 생성하려면 -instsrvc 매개변수와 다음 매개변수를 지정해야 합니다. -usr - 서비스를 시작할 사용자 이름, -pwd - 이 사용자의 비밀번호. 이 경우 나머지 매개변수는 서비스로서 1C:Enterprise Server Agent의 실행 라인 매개변수가 됩니다. 예를 들어 디버그 모드에서 1C:Enterprise Server Agent 서비스를 표준 등록하려면 매개변수 세트가 다음과 같아야 합니다.

"C:\Program Files\1cv81\bin\ragent.exe" -instsrvc -usr .\USR1CV81 -pwd 비밀번호 -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server" - 디버그

서비스를 제거하려면 -rmsrvc 매개변수를 지정해야 합니다. 예를 들어:
"C:\Program Files\1cv81\bin\ragent.exe" -rmsrvc

때로는 서버 에이전트 시작 줄이나 에이전트 서비스의 기타 매개 변수를 변경하는 것이 유용할 수 있습니다(예: 디버깅 모드 활성화 또는 여러 서비스 생성). 다른 버전. 서비스 속성 대화 상자에서는 서비스 응용 프로그램 실행 줄 및 일부 기타 매개 변수(예: 서비스 식별자)를 편집할 수 없습니다. 편집하려면 Windows 시스템 레지스트리를 보고 편집하도록 설계된 regedit 유틸리티가 필요합니다.

주목!
Windows 시스템 레지스트리를 편집할 때는 매우 주의해야 합니다. 레지스트리를 잘못 변경하면 운영 체제가 작동하지 않게 될 수 있기 때문입니다.

regedit 유틸리티를 실행하고(시작 -> 실행을 열고 regedit 입력) 분기를 선택합니다.


해당 매개변수 중에는 ImagePath 매개변수가 있으며, 그 값은 1C:Enterprise Server Agent의 시작 문자열입니다. 여기에서 새로운 시작 문자열 매개변수를 추가하거나 기존 매개변수의 값을 변경할 수 있습니다. 전체 목록가능한 매개변수는 "1C:Enterprise 8.1 Client-Server" 설명서에 나와 있습니다.

여러 개의 독립적인 1C:Enterprise 서버 에이전트 서비스를 등록해야 하는 경우 서로 다른 부팅 모듈, 서로 다른 포트 및 서로 다른 클러스터 데이터 디렉터리를 사용하여 이를 지정해야 합니다. 또한 다른 서비스 식별자를 사용하여 등록해야 합니다. 이는 다음과 같이 수행할 수 있습니다.

* 첫 번째 서비스를 생성합니다:
"C:\Program Files\1cv81\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv81\server"

* regedit 유틸리티를 사용하여 등록된 서비스의 식별자를 변경합니다. 이렇게 하려면: 지점을 선택하세요.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 서버 에이전트

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 서버 에이전트 우선
* 두 번째 서비스를 생성합니다:
"C:\Program Files\1cv81_10\bin\ragent.exe" -srvc -agent -regport 1641 -port 1640 -range 1660:1691 -d "C:\Program Files\1cv81_10\server"

* 아마도 그의 ID도 변경되어야 할 것입니다. 이렇게 하려면: 지점을 선택하세요.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 서버 에이전트
이름을 다음과 같이 변경합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\1C:Enterprise 8.1 서버 에이전트 두 번째

1C:Enterprise 설치 프로그램은 무엇을 할 수 없나요?

이미 언급한 대로 1C:Enterprise 설치 프로그램은 1C:Enterprise 부팅 모듈을 복사하고 COM 및 Windows 서비스 관리자에서 필요한 등록을 수행합니다. 위 내용은 본 등록의 내부 메커니즘을 이해하는데 필요한 정보입니다. 서버 컴퓨터뿐만 아니라 1C:Enterprise의 클라이언트 부분에도 서버가 설치되어 있는 경우 설치 후 즉시 작동할 준비가 됩니다(보안 키 연결).

1C:Enterprise 서버는 다음의 다른 컴퓨터에서 액세스할 수 있습니다. 지역 네트워크, 서버와 클라이언트 컴퓨터뿐만 아니라 네트워크 전체의 네트워크 설정을 확인해야 합니다. TCP/IP는 클라이언트 응용 프로그램과 1C:Enterprise 서버 간, 그리고 서버 클러스터 프로세스 간에 데이터를 전송하는 데 사용됩니다. 클라이언트-서버 버전에서 1C:Enterprise의 작동은 올바른 구성에 따라 다릅니다.

1C:Enterprise 서버 클러스터의 프로세스는 작업 서버의 속성 대화 상자에서 "컴퓨터" 속성 값으로 정의된 주소에서 서로 연결됩니다. 클러스터에서는 Computer 속성의 값이 점 표기법의 IP 주소이거나 TCP API에 정의된 gethostbyname 함수를 사용하여 IP 주소를 확인할 수 있는 기호 주소여야 합니다. IP 주소는 기호 주소의 로컬 테이블(C:\WINNT\system32\drivers\etc\hosts) 또는 사용 가능한 DNS 서버의 주소 테이블을 기반으로 결정됩니다. 작업 서버의 기호 주소가 IP 주소를 결정하지 않거나 잘못 결정하는 경우(예: IP 주소가 이 컴퓨터의 실제 IP 주소와 일치하지 않는 경우) 클러스터가 작동하지 않습니다. 클러스터의 각 작업 서버에 있는 Windows에 정의된 컴퓨터 이름과 해당 주소가 DNS의 이름과 모순되지 않는 것이 중요합니다.

각 작업 서버에서 클러스터 프로세스는 다음 포트를 사용합니다. 작업 서버의 IP 포트(일반적으로 1540); 워크플로 IP 포트 범위(일반적으로 1560-1591)의 IP 포트입니다. 또한 클러스터의 중앙 서버는 클러스터 포트(일반적으로 1541)를 사용합니다. 시스템이 방화벽을 사용하는 경우 이러한 포트에서의 데이터 전송이 허용되어야 합니다. 위 목록의 포트를 허용하는 대신 클러스터 프로세스(ragent, rmngr, rphost)로의 데이터 전송을 허용할 수 있습니다.

1C:Enterprise 클라이언트 애플리케이션과 서버 간의 연결은 2단계로 수행됩니다. 먼저 클러스터 관리자에 대한 연결을 설정합니다. 이는 중앙 서버 주소(기호 또는 숫자)와 클러스터 포트(일반적으로 1541)를 사용합니다. 다음으로 클라이언트 애플리케이션은 작업자 프로세스 중 하나와 연결을 설정합니다. 해당 작업 서버의 "컴퓨터" 속성 값과 작업 서버의 IP 포트 범위에서 선택된 작업 프로세스 포트가 해당 주소로 사용됩니다. 이러한 포트에 대한 데이터 전송은 클라이언트 응용 프로그램 컴퓨터에서 1C:Enterprise 서버 클러스터의 컴퓨터로의 경로를 따라 모든 방화벽에서 허용되어야 합니다. 서버 프로세스의 IP 주소는 클라이언트 컴퓨터의 gethostbyname 함수를 사용하여 결정됩니다. 중앙 및 작업 서버의 이름과 클러스터의 각 서버에 대해 Windows에 정의된 해당 주소가 클라이언트 컴퓨터에 액세스할 수 있는 DNS의 이름과 모순되지 않는 것이 중요합니다.

그리고 마지막으로 한 가지. 분명히 다른 컴퓨터에서 1C:Enterprise 서버에 성공적으로 액세스하려면 해당 서버가 네트워크에 있어야 하며 이에 필요한 설정을 지정해야 합니다. 네트워크에 연결하고 기술을 설정하는 것은 네트워크 관리와 관련됩니다. 마이크로소프트 데이터베이스 Windows 및 해당 지침에 설명되어 있습니다.

SQL 서버 설정 기능

1C: "클라이언트-서버" 버전의 Enterprise는 SQL 서버를 사용하여 데이터를 저장합니다. 이 경우 1C:Enterprise Server만 SQL Server에 액세스합니다. 1C:엔터프라이즈 클라이언트는 SQL 서버에 직접 액세스할 수 없습니다. SQL Server 설치 및 구성은 Microsoft SQL Server 설명서에 자세히 설명되어 있습니다. SQL 서버와 함께 1C:Enterprise Server를 성공적으로 작동하려면 다음 설정에 특별한 주의를 기울여야 합니다.

* 필수 SQL 서버 구성요소. 1C:Enterprise Server 측에서 SQL Server에 액세스하려면 Microsoft Data Access 2.6 이상의 구성 요소가 1C:Enterprise Server 컴퓨터에 설치되어 있어야 합니다.
* SQL 서버에 의한 사용자 인증. SQL Server 데이터베이스에 대한 액세스 권한은 데이터베이스에 액세스하는 사용자에 의해 결정됩니다. SQL Server가 설치된 컴퓨터에서 SQL Server Enterprise Manager 유틸리티를 실행하고 로컬 노드(콘솔 루트 -> Microsoft SQL Server -> SQL Server 그룹 -> (로컬))를 찾은 다음 해당 속성을 엽니다. Sequrity 탭에서 SQL Server는 SQL Server와 Windows 및 Windows만이라는 두 가지 사용자 인증 방법을 지원하는 것을 볼 수 있습니다. Windows 인증을 사용하면 1C:Enterprise 서버가 사용자 USR1CV81을 대신하여 SQL 서버에 액세스할 수 있으며, 이는 하나의 1C:Enterprise 서버에서 제공하는 다양한 정보베이스에 대한 액세스 권한을 차별화하는 것을 허용하지 않습니다. SQL Server 및 Windows 모드를 선택하는 것이 좋습니다. 이 경우 해당 정보베이스를 생성할 때 SQL Server 사용자로 지정된 사용자를 대신하여 특정 정보베이스에 대한 액세스가 수행됩니다. 이 사용자는 정보베이스 데이터베이스에 대한 모든 권한뿐만 아니라 SQL Server에서 데이터베이스를 생성하고 마스터 데이터베이스 테이블을 읽을 수 있는 권한도 가지고 있어야 합니다.
* SQL 서버에 액세스하기 위한 네트워크 프로토콜. 1C:Enterprise Server와 SQL Server가 서로 다른 컴퓨터에 있는 경우 SQL Server에 대한 네트워크 액세스 프로토콜을 구성해야 합니다. 이는 SQL Server 클라이언트 네트워크 유틸리티를 사용하여 수행할 수 있습니다. 일반 탭에서 SQL Server에 액세스하는 데 사용되는 네트워크 프로토콜 목록을 선택할 수 있습니다. 가장 빠르고 다재다능한 방법은 TCP/IP 프로토콜을 사용하는 것입니다. 다른 프로토콜을 사용하는 경우 Named Pipes와 같은 일부 프로토콜은 SQL Server와 데이터를 교환할 때 Windows 도구를 사용하여 추가 인증을 수행한다는 점을 명심해야 합니다. 이 경우 SQL 서버에서 성공적으로 작업하려면 사용자 USR1CV81이 적절한 권한을 사용하여 SQL 서버가 있는 컴퓨터에 등록되어야 합니다. 이 SQL 서버의 액세스 프로토콜은 별칭 탭에서 변경할 수 있습니다.

기사 외에도

MS SQL Server + 1C: Enterprise 8 서버의 조합이 틈새 시장에서 가장 인기 있고 자주 사용되는 조합이라는 것은 의심의 여지가 없습니다. 고품질 지원을 위해서는 두 제품 모두에 대한 이해가 바람직합니다. 동시에 실제로 지원 전문가는 일반적으로 MS SQL Server 관리를 전문으로하고 1C : Enterprise 8 서버의 기능에 익숙하지 않거나 반대로 1C : Enterprise 8 서버 관리를 전문으로하지만 그렇지 않습니다. MS SQL Server 기능에 익숙합니다.

이 기사는 이러한 소프트웨어 제품을 함께 사용할 때 시간을 절약하고 가장 중요한 세부 사항에 주의를 끌기 위해 고안된 전문가와 다른 전문가 모두를 돕기 위해 작성되었습니다.

정보를 더 쉽게 이해할 수 있도록 사례 연구, 참고 사항 및 팁이 제공됩니다(기울임꼴).

3링크 회로

독자가 이미 알고 있듯이, 고려 중인 사례의 데이터베이스는 3계층 아키텍처를 갖습니다.

링크 1: MS SQL Server DBMS. 데이터베이스를 "저장"하고 유지 관리하며 궁극적으로 모든 유형의 데이터베이스 작업을 수행합니다. 따라서 데이터베이스의 성능, 데이터 읽기 및 쓰기 속도와 병렬성은 MS SQL Server의 성능에 따라 크게 결정됩니다.

링크 2: 서버 "1C: Enterprise 8". 클라이언트(사용자)와 MS SQL Server 간의 상호 작용에서 중개자 역할을 합니다. 모든 클라이언트 요청은 서버로 전송되며 서버는 이를 MS SQL Server 쿼리 언어로 "변환"하고 이러한 쿼리 실행 결과를 받아 클라이언트에 보냅니다.

MS SQL에 액세스하지 않고 1C: Enterprise 8 서버 수준에서 수행되는 작업 중 일부만 있습니다. 이는 특히 소위 "관리 잠금"을 추적하고 "세션 매개 변수"를 읽고 쓰는 것입니다. 이러한 경우에는 데이터베이스 데이터가 아닌 보조 서버 정보를 이용하여 작업을 수행하므로 DBMS에 대한 접근이 필요하지 않습니다.

링크 3: "1C: Enterprise 8"의 클라이언트 부분. 1C: Enterprise 8 서버에 액세스하여 서버로부터 결과(예: 데이터 샘플)를 수신하고 사용자 인터페이스를 담당합니다.

"나는 최고를 원했다."

1C: Enterprise 8 서버를 다시 설치한 후 사용자는 성능이 급격히 저하된다고 불평합니다. 재설치를 수행한 1C: 엔터프라이즈 소프트웨어 구현 전문가는 놀랐습니다. 그들은 최고를 원했고 시스템이 더 빨리 작동해야 한다고 말했습니다... 상황 분석에 따르면 1C: Enterprise 8 서버에 너무 많은 리소스가 할당된 것으로 나타났습니다. : rphost는 서버의 16GB RAM 중 15.5GB를 차지하므로(포인트 3 참조) 결과적으로 호환되는 MS SQL Server에 사용 가능한 RAM이 거의 없었습니다.

그 결과 지속적인 "스왑", 디스크 하위 시스템의 불필요한 로드 및 데이터베이스 작업의 실행 속도가 매우 느려집니다. 이는 MS SQL Server가 "오버클럭된" 1C: Enterprise 8에서 들어오는 요청을 처리할 시간이 없기 때문입니다. 섬기는 사람.

제품 호환성

1C: Enterprise 8과 함께 사용하도록 권장되는 MS SQL Server 버전에 대한 최신 정보는 이 링크에서 찾을 수 있습니다. http://v8.1c.ru/requirements/.

이 기사를 작성할 당시 1C 개발자는 다음 옵션을 권장합니다.

      1. SQL 서버 2008 R2.
      2. SQL Server 2008에는 서비스 팩 1(SP1)을 설치해야 합니다.
    3. SQL Server 2005에는 서비스 팩 3(SP3)을 설치해야 합니다.



MS SQL Server 2000을 사용하는 것은 기술적으로 가능하지만 권장되지 않습니다. 서비스 팩 2(SP2)를 설치해야 하며 서비스 팩 4(SP4)를 설치하는 것이 좋습니다.

이 버전은 현재 더 이상 사용되지 않으며 x86-64 아키텍처용 64비트 버전이 없습니다.

메모:

설정에 주의를 기울여야 합니다 운영 체제: 예를 들어 효율적인 작업 Server 2008R2 OS의 M SQL Server 2008에서는 균형 잡힌 전원 모드를 비활성화하고 최대 성능 모드로 전환해야 합니다.

"1C: Enterprise 8"의 클라이언트-서버 버전 설치

"1C가 설치되었습니다"

고객 중 한 명은 1C: Enterprise 8 작업 경험이 없는 시스템 관리자가 1C: Enterprise 8 설치를 수행했습니다. 그리고 그에 따르면 그는 "1C를 설치"했지만 사용자 컴퓨터에는 클라이언트 부분이 없었고 서버에는 서버 부분이 없었습니다. 상황 분석을 통해 1C: Enterprise 8 키트에는 2개의 디스크가 포함되어 있으며 플랫폼 설치 및 데이터베이스 템플릿 설치라는 그림이 명확해졌습니다. 관리자는 설치 절차를 자세히 조사하지 않았으며 실행 파일, 플랫폼 구성 요소가 아닌 데이터베이스 템플릿을 설치했습니다.

물론 이것은 일에 대한 유난히 부주의한 태도의 비정형적인 예입니다.

"1C: Enterprise 8"을 설치할 때 다음이 별도로 설치된다는 점을 고려해야 합니다.

      1C: Enterprise 8 플랫폼은 데이터베이스 개발 및 운영을 위한 통합 환경인 실행 가능한 애플리케이션입니다. 실행하면 "Enterprise"(사용자 데이터베이스 셸) 또는 "Configurator"(통합 개발 환경)의 두 가지 작동 모드 중 하나를 선택합니다. 더 전체 설명링크에서 읽을 수 있습니다
      "1C: Enterprise" 구성 템플릿은 플랫폼이 템플릿에 포함된 구조의 순수 또는 데모 데이터베이스를 생성할 수 있는 플랫폼 내부 형식의 파일입니다. 업데이트 패턴을 사용하여 이미 데이터로 채워져 있는 기존 데이터베이스의 구조를 업데이트할 수도 있습니다.
      플랫폼을 설치할 때 구성 요소 선택에 주의해야 합니다.





1C: Enterprise 구성 요소가 서버에 설치되지 않았을 수 있습니다.

이 경우 서버는 클라이언트 컴퓨터에 1C: Enterprise 데이터베이스에 대한 액세스 권한을 제공하지만 서버에서 직접 사용자 모드로 데이터베이스 작업을 수행하는 것은 불가능합니다.

메모:

64비트 버전의 플랫폼에는 클라이언트 부분이 포함되어 있지 않습니다. 따라서 서버에 설치하는 경우 64비트 서버 구성 요소는 별도로 설치되고, 32비트 클라이언트 응용 프로그램 구성 요소는 별도로 설치됩니다.

MS SQL Server에 연결하려면 "1C 서버: 엔터프라이즈" 구성 요소가 필요합니다. 이는 클라이언트 워크스테이션의 플랫폼과 MS SQL Server 간의 연결 링크인 애플리케이션 서버입니다.

간단한 애플리케이션이나 시스템 서비스 모드로 구성 요소를 설치할 수 있으며 물론 두 번째 옵션을 권장합니다.

"서비스로" 설치되면 선택한 사용자를 대신하여 이 구성 요소가 시작되고 실행됩니다.




로드 후 구성 요소는 "서버 에이전트", "서버 클러스터 관리자", "서버 작업자 프로세스"와 같은 여러 프로세스를 생성합니다.

데이터베이스에 대한 쿼리는 작업자 프로세스에 의해 실행되며 서버 클러스터 관리자는 작업자 프로세스 간에 로드를 분산합니다.

1C: Enterprise Server Administration 구성 요소가 설치된 경우 서버 작업자 프로세스를 관리(추가, 삭제, RAM 사용량 제한 설정, 기본 또는 백업 선언)할 수 있습니다.



메모:

32비트 버전의 서버의 경우 RAM을 사용하지 않은 상태로 두지 않도록 작업 프로세스를 설치하는 것이 좋습니다. 각 프로세스에는 시스템에 따라 2GB에서 4GB까지 RAM 사용에 눈에 띄는 제한이 있습니다. 구성.

64비트 버전의 서버의 경우 이론적으로 작업자 프로세스 2개(작업자 하나와 백업 하나)이면 충분합니다. 그러나 실제로는 상당수(수백 명)의 사용자에 대한 연결의 신뢰성과 안정성을 보장하려면 더 많은 수의 사용자가 필요하며 이는 사용자 수, 데이터베이스 콘텐츠 및 용량 등 다양한 요인에 따라 달라집니다. 따라서 저자는 이 경우 프로세스 수를 실험적으로 선택해야 한다고 생각합니다.

"우로보로스"

1C: Enterprise 8 서버 설정의 최적화가 실패한 후 사용자는 시스템 작동 속도가 매우 느리다고 보고했으며 시스템 관리자는 서버에서 지속적으로 100% 프로세서 로드를 기록했습니다.

상황 분석을 통해 문제의 원인이 드러났습니다. 구성 중에 작업 프로세스의 RAM 사용에 대한 제한이 너무 작게 설정되었습니다.

그러나 사실 이 제한은 다음과 같이 작동합니다.

서버 클러스터 관리자가 작업자 프로세스가 RAM 제한을 초과했음을 확인하면 해당 프로세스가 종료되고 비활성화되며 새 작업자 프로세스가 생성되고 연결 및 사용자 요청이 작업자 프로세스 간에 재분배됩니다.

설정된 제한이 너무 작아서(300MB) 작업자 프로세스는 집중적인 사용자 한 명조차 완전히 서비스할 수 없었습니다. 그 결과 서버 클러스터 관리자는 지속적으로 작업자 프로세스를 다시 시작하고 사용자를 다시 연결했습니다. 새로운 프로세스가 생성되고 사용자가 이에 연결되자마자 RAM 한도에 거의 즉시 도달하여 다음 재시작이 발생했습니다. 이는 프로세서 로드의 100%를 차지했습니다.

"1C 서버: 엔터프라이즈" 구성 요소는 클라이언트 워크스테이션에 필요하지 않으며 보안 키의 물리적 존재가 필요하므로 클라이언트 워크스테이션에서 시작할 수 없습니다.

연결된 사용자 수가 적은 경우(50명 미만) 일반적으로 응용 프로그램 서버는 MS SQL Server가 실행되는 동일한 컴퓨터에 설치됩니다.

사용자 수가 많거나 정보 흐름량이 많은 시스템의 경우에는 서버 클러스터 사용뿐만 아니라, 별도 설치를 권장합니다.

"1C: 엔터프라이즈 서버 관리" 구성 요소는 클라이언트에도 유용할 수 있습니다. 예를 들어 이 구성 요소를 사용하면 특정 "1C: 엔터프라이즈" 서버에 연결된 정보 베이스 목록을 볼 수 있습니다.

서버 자체에 설치하는 것이 좋습니다.

입장

메모:

액세스가 제공되는지 확인하려면 1C: 엔터프라이즈 서버 관리 유틸리티를 사용하는 것만으로는 충분하지 않으며 "네트워크 환경"에 서버가 존재하는 것만으로는 충분하지 않습니다!

각 클라이언트는 서버에 설치된 데이터베이스에 로그인해야 합니다. 이를 통해서만 액세스가 제공된다는 100% 확신을 얻을 수 있습니다.

1. MS SQL Server는 보안 정책에 따라 Windows 계정 인증 또는 MS SQL Server 계정 인증을 사용합니다.




후자의 경우 1C: Enterprise 데이터베이스를 생성할 때 시스템은 MS SQL Server 계정(예: sa)의 로그인 및 비밀번호를 요청합니다. 첫 번째 경우 로그인 및 비밀번호는 비워 두어야 합니다.



1C: Enterprise 서버를 대신하여 실행 중인 시스템 사용자에게는 MS SQL Server에서 다음과 같은 권한이 부여되어야 합니다.

      정보 기반이 위치한 데이터베이스에 대한 모든 권리
      마스터 데이터베이스에 대한 액세스(공용 역할)
      권장 - 데이터베이스를 생성할 수 있는 권한입니다. 그렇지 않으면 각각의 새 데이터베이스를 먼저 MS SQL Sever를 사용하여 생성한 다음 1C: 엔터프라이즈 서버에 연결해야 합니다.
      권장 - 데이터베이스를 삭제할 수 있는 권한



예를 들어 해당 사용자에게 고정 역할 processadmin 또는 sysadmin을 할당할 수 있습니다.

조언.

모든 사용자가 동시에 작업 데이터베이스에 대한 액세스 권한을 상실한 경우 특정 데이터베이스에 대해 설정된 권한, 즉 사용자 매핑을 포함하여 MS SQL Server의 사용자 권한과 역할을 다시 확인해야 합니다.




2. 서버 1C: Enterprise는 Microsoft 데이터 액세스 메커니즘을 통해 MS SQL Server에 액세스하므로 해당 구성 요소를 설치해야 하며 서버 1C: Enterprise(이전 단락 참조)의 사용자는 이를 실행할 수 있는 권한이 있어야 합니다.

3. 클라이언트와 서버 간의 통신은 TCP 프로토콜로 지원되므로 이 프로토콜이 양쪽 모두에서 지원되어야 합니다. 예를 들어 P2P 네트워크를 사용하는 경우 서버 이름과 IP 주소가 일치하는 데 문제가 있을 수 있습니다. 이 경우 [C:\WINDOWS\] system32\drivers\etc\hosts 파일에 해당 내용을 기록해야 합니다.

조언.

네트워크가 P2P인 경우 서버에 대한 영구적인 연결을 보장하려면 이 서버의 모든 폴더에 액세스하는 네트워크 드라이브를 만드십시오.

4. Named Pipes 프로토콜을 사용하고 MS SQL Server와 1C: Enterprise 서버가 서로 다른 컴퓨터에 설치된 경우 1C: Enterprise 서버를 대신하여 실행 중인 사용자를 컴퓨터 사용자 목록에 등록해야 합니다. MS SQL Server가 실행되고 있는 곳입니다.

5. 경우에 따라 Windows 방화벽의 추가 구성, 즉 예외 추가가 필요할 수 있습니다.

6. 일부 바이러스 백신 프로그램은 "원치 않는" 네트워크 트래픽을 차단할 수 있으므로 해당 프로그램의 제외 목록에 추가해야 할 수도 있습니다.

7. 1C: Enterprise 8 플랫폼의 릴리스는 클라이언트와 서버에서 완전히 동일해야 합니다.

"쌍둥이"

"고객 중 한 명이 두 개의 데이터베이스 서버를 사용했는데, 각 서버에는 하나의 작업 데이터베이스가 들어 있었습니다. 사용자는 각각 두 데이터베이스를 동시에 사용하여 작업했습니다. 지원 서비스는 서버와 클라이언트에서 1C: Enterprise 8 플랫폼을 업데이트했습니다.... 그리고 불만이 쏟아지기 시작했습니다. 하나 또는 다른 데이터베이스에 연결할 수 없다는 상황을 분석한 결과 여러 사람이 클라이언트와 서버에서 업데이트를 수행했으며 설치 전문가가 동일한 릴리스를 설치하고 있는지 다시 확인하지 않은 것으로 나타났습니다. 한 서버의 플랫폼 릴리스 두 번째는 클라이언트의 절반이고 나머지 절반은 각 사용자가 데이터베이스 중 하나에만 액세스할 수 있는 것으로 나타났습니다.

문제를 신속하게 해결하기 위해 각 사용자는 플랫폼의 두 릴리스를 모두 설치하고 각 데이터베이스에 로그인하기 위한 별도의 바로 가기를 만들어야 했습니다.

MS SQL Server 및 데이터베이스의 초기 설정

“그리고 그게 작동하는 방식이에요”

MS SQL Server는 초기 설치가 쉽다는 특징이 있으므로 모든 관리자가 당황하지는 않습니다. 추가 세팅– 기본 설치를 완료한 후 데이터베이스가 작동하기 시작했고 사용자가 로그인했습니다. – 작업이 완료되었습니다. 이 접근 방식은 거의 항상 약 한두 달 후에 문제가 발생하며, 물론 가장 불편한 순간에 갑자기 문제가 발생합니다.

예를 들어, 데이터베이스가 회계 목적으로 만들어진 경우 세금 보고서를 제출하기 전에 특정 데이터를 긴급하게 다시 계산해야 하는 경우가 많으며 "연초부터 고정 자산의 모든 영수증"과 같이 일괄적으로 다시 계산해야 합니다. 또한 근무일 중에는 다른 데이터베이스 사용자의 작업을 중단하지 않습니다.

그리고 물론, 이러한 재계산 중에 데이터베이스가 "정지" 또는 "충돌"하거나 다른 사용자의 작업을 허용하지 않는다는 사실이 이 순간에 발견됩니다.

이러한 '머피의 법칙'은 다음 각 항목에 적용됩니다.

1C: Enterprise용 DBMS로 MS SQL Server를 사용하기 전에 다음을 권장합니다.

1. 최대 병렬도 매개변수의 값을 1로 설정합니다.

그건:

      서버 접속 후 컨텍스트 메뉴, 속성 항목을 통해 서버 속성에 진입합니다.
      그런 다음 고급 페이지를 선택하고 최대 병렬 처리 수준 매개변수를 편집합니다.






그렇지 않으면 1C: 엔터프라이즈 서버에서 생성된 일부 쿼리로 인해 "쿼리 내 병렬 처리로 인해 서버 명령(프로세스 ID #XX)이 교착 상태에 빠졌습니다. 쿼리 힌트 옵션(maxdop 1)을 사용하여 쿼리 내 병렬 처리 없이 쿼리를 다시 실행하세요. )". 이 오류 후에 클라이언트 부분이 자주 충돌합니다.

누적된 통계에 따라 쿼리 계획이 다르게 구성되므로 오류가 일관되게 나타나지 않습니다. 이는 크고 복잡한 쿼리, 즉 가장 불행한 순간에 나타납니다.

2. 밤마다 tempdb 임시 테이블 데이터베이스를 축소하는 유지 관리 계획을 만듭니다. 임시 테이블의 데이터베이스는 1C: Enterprise 서버에 의해 항상 자동으로 지워지는 것은 아니며 때로는 실패한 쿼리의 결과로 예를 들어 50GB 크기의 임시 테이블이 생성되고 지워지지 않을 수 있습니다. 결과적으로 디스크 공간이 부족해 클라이언트와 서버 부분 모두 충돌이 발생할 수 있으며 데이터 무결성 위반의 위험도 약간 있습니다.

즉, 다음이 필요합니다.

      MS SQL 관리 스튜디오로 이동
      서버에 연결한 후 "유지 관리 계획" 섹션을 확장합니다.
      새로운 서비스 계획 생성(또는 기존 서비스 계획에 추가)
      코드를 사용하여 "T-SQL 문 실행 작업" 항목을 추가합니다("데이터베이스 축소" 작업에서는 tempdb 데이터베이스를 선택할 수 없으므로).




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

임시 테이블 데이터베이스 파일 이름은 "tempdev"가 아닐 수 있습니다. 스크립트를 사용하여 이 이름을 확인할 수 있습니다.

1.tempdb를 사용한다
2.
3.GO
4.
5.EXEC sp_help파일
6.
7.이동




“냄비, 요리하지 마세요”

실제로 tempdb를 너무 많이 채워 서버를 충돌시키는 가장 일반적인 방법은 테이블을 조인할 때 조건 지정을 잊어버리는 것입니다.

즉, 데이터베이스에 각각 20,000개의 레코드 크기를 가진 두 개의 테이블이 있다고 가정해 보겠습니다. 두 레코드 사이에 일대일 대응이 있고 두 원본 테이블의 필드가 포함된 20,000개의 레코드가 포함된 임시 테이블을 만드는 쿼리를 작성한다고 가정해 보겠습니다. 그러나 조인 조건을 지정하는 것을 잊어버리면 첫 번째 테이블의 모든 레코드가 두 번째 테이블의 모든 레코드에 조인됩니다! 즉, 결과 테이블은 20,000 * 20,000 = 4억 개의 레코드로 구성됩니다. 등등.

3. 디스크 하위 시스템의 로드를 줄이려면 가능하면 작업 데이터베이스와 tempdb, 로그 및 시스템 스왑 파일을 서로 다른 물리적 디스크에 분산하는 것이 좋습니다.

경로 열을 편집하여 작업 데이터베이스 파일을 생성할 때 원하는 저장 경로를 설정하는 것이 좋습니다.




임시 테이블 데이터베이스 파일의 물리적 위치를 변경하려면 ALTER DATABASE 명령을 사용하십시오. 즉, MS SQL Management Studio에서 다음 스크립트("새 쿼리" 명령)를 실행해야 합니다.

1. 마스터 사용
2.
3.GO
4.
5.ALTER DATABASE 임시 DB
6.
7.파일 수정(이름 = tempdev, 파일 이름 = "New_Disk:\New_Directory\tempdb.mdf")
8.
9.GO
10.
11.ALTER DATABASE 임시 DB

12.
13.MODIFY 파일(이름 = templog, FILENAME = "New_Disk:\New_Directory\templog.ldf")
14.
15.GO

4. 작업 데이터베이스와 해당 로그의 "증가"가 방해받아서는 안 됩니다. 크기 제한이 없어야 하며 "자동 증가" 속성은 백분율로 설정되어야 하며 권장 값은 10%입니다. 그렇지 않으면 데이터베이스에 데이터를 추가하고 아카이브에서 복원하는 등의 작업에 시간이 너무 오래 걸릴 수 있습니다.

이 속성을 설정하려면 상황에 맞는 메뉴를 통해 데이터베이스 속성으로 이동하고 파일 섹션을 선택한 다음 편집 파일 속성을 열어야 합니다.



5. MS SQL Server에서 TCP/IP 네트워크 프로토콜에 대한 지원을 활성화하고 다른 모든 프로토콜은 비활성화하는 것이 좋습니다. 그렇지 않으면 MS SQL Server와 1C: Enterprise 서버의 공동 작동이 덜 안정적입니다.




6. 같은 장소에서 별칭 섹션을 지웁니다. 설치하면 MS SQL Server와 1C: Enterprise 서버 간의 상호 작용에 오류가 발생합니다.

데이터베이스 사용을 시작하기 전에 다음을 수행하는 것이 좋습니다.

1. "1C: Enterprise"에서 데이터베이스를 생성할 때 "날짜 오프셋"을 2000으로 설정합니다. 그렇지 않으면 1753년 1월 1일 이전 날짜를 기록하려고 시도하면(인적 요소로 인해 가능) 오류가 발생합니다. 데이터 베이스.

주목! 기존 데이터베이스의 날짜 오프셋은 변경할 수 없습니다!



2. 복구 모델을 단순으로 설정하거나 데이터베이스의 일일 백업을 생성하고 트랜잭션 로그(로그 파일)를 정리하는 유지 관리 계획을 만듭니다. 그렇지 않으면 일부 작업 중에 트랜잭션 로그(로그 파일)가 매우 빠르게 커집니다. 예를 들어 데이터베이스를 재구성할 때 로그 파일 크기의 증가는 데이터베이스 자체의 크기보다 몇 배 더 커질 수 있습니다.




3. 일주일에 한 번 이상 다음과 같은 일상적인 작업을 수행하는 유지 관리 계획을 만듭니다.

      데이터베이스의 백업 복사본을 생성합니다.
      데이터베이스 통계를 업데이트하고 절차적 캐시를 지웁니다. 자동 업데이트 통계 속성은 절차적 캐시를 지우는 것을 의미하지 않습니다.
      절차적 캐시 지우기는 유지 관리 계획의 표준 작업에 포함되지 않습니다. 이 단계는 다음 콘텐츠가 포함된 스크립트(T-SQL 문 실행)를 실행하는 것으로 정의되어야 합니다.
      DBCC 프리프로캐시
      데이터베이스 테이블을 다시 인덱싱하는 중입니다.






물론 작업 완료/실패 여부에 대한 이메일 자동 전송을 설정하는 것이 합리적입니다.




결론

1C: Enterprise 8의 시스템 관리자 및 구현자에게 가장 자주 발생하는 문제는 MS SQL Server 및 1C: Enterprise 8의 클라이언트-서버 버전의 공동 사용과 관련하여 고려됩니다.

저자는 상당히 일관되고 접근 가능한 방식으로 "동전의 양면"을 다루기를 희망합니다.

추신 자주 백업해주세요!

1C 서버 관리 콘솔 또는 1C 서버 관리 콘솔 또는 1C 서버 클러스터 콘솔은 1C Enterprise 8.3에 포함된 유틸리티로 다음 작업에 필요합니다.

  • 세션 관리;
  • 데이터베이스 목록 관리
  • 내결함성 아키텍처 및 확장성을 위한 1C 클러스터 생성
  • 작업 프로세스의 유연한 구성;
  • 자원 소비에 대한 제한
  • 작업 서버에서 수행되는 작업 분리(개별 서비스를 다른 작업 서버로 전송)
  • 보안 프로필 관리.


클러스터 콘솔에서 데이터베이스 관리

클라이언트-서버 아키텍처에서 작업할 때 사용자는 적어도 정보베이스 목록에 새 데이터베이스를 추가할 때 어떤 방식으로든 서버 관리 콘솔을 접하게 될 가능성이 높습니다. 새 데이터베이스를 추가하려면 정보베이스를 마우스 오른쪽 버튼으로 클릭하고 "만들기"를 선택해야 합니다.


창이 열립니다.


이 창에는 DBMS에 연결하기 위한 설정이 채워져 있으며, 누락된 경우 '존재하지 않는 경우 데이터베이스 생성' 옵션을 사용할 수 있습니다. 나머지 설정은 기본값으로 둘 수 있습니다.

이미 생성된 정보 베이스에 대해 동일한 설정 창을 열 수도 있습니다. 이 창을 열려면 정보 베이스를 마우스 오른쪽 버튼으로 클릭하고 "속성" 메뉴 항목을 선택해야 합니다.


여기서는 세션 시작 시 차단을 설정할 수 있습니다(특정 기간 동안 차단 설정). 잠금이 설정된 동안에는 어떤 세션도 데이터베이스에 연결할 수 없습니다.


연결 시 사용자에게 표시될 특정 메시지를 설정할 수 있습니다.


예를 들어, 데이터베이스에 대한 일상적인 유지 관리(일반적으로 데이터베이스 업데이트)를 수행할 때 이 옵션을 사용할 수 있습니다. 그러나 관리자가 세션 차단이 적용된 데이터베이스에 로그인해야 하는 경우 "권한 코드" 옵션을 사용해야 합니다. 코드를 지정하면 나중에 이를 사용하여 데이터베이스 작업이 가능해집니다. 예를 들어, 나중에 데이터베이스에 입력할 수 있도록 확장 코드를 123으로 설정해 보겠습니다. 매개변수는 권한 코드와 함께 사용해야 합니다. /UC.


차단 매개변수는 프로그램 코드에서 사용할 수 있는 임의의 매개변수입니다. 기능을 사용할 때 차단이 발생합니다 GetSessionLock().

일상적인 작업 차단이 활성화되었습니다. 이는 일상적인 작업이 데이터베이스에서 실행되지 않음을 의미합니다.

논의된 옵션은 가장 자주 사용됩니다. 나머지는 생활에서 거의 사용되지 않으며 이에 대한 정보는 ITS에서 읽을 수 있습니다.

관리 콘솔 세션 작업

관리 콘솔에서는 특정 데이터베이스에 연결된 세션은 물론 특정 클러스터의 일반 세션도 관리할 수 있습니다.


세션 창은 다음과 같습니다.

이 창에서는 이 세션이 어떤 사용자인지 시작하여 해당 세션의 메모리 소비 데이터, 수신된 DBMS 데이터의 양, 소비된 프로세서 시간 등 많은 양의 정보를 얻을 수 있습니다. .

여기에서는 플랫폼 버전 1C:Enterprise 8.3(8.3.13)부터 세션을 종료하고 1C 씬 클라이언트를 닫을 때 사용자에게 표시되는 메시지 텍스트를 설정할 수도 있습니다.




보안 프로필을 사용하면 확장으로 확장할 수 있는 모듈을 구성하고, 확장을 특정 구성 모듈로 제한하고, 애플리케이션 코드에서 파일 시스템에 대한 액세스를 제한하고, COM 개체, 외부 구성 요소, 타사 애플리케이션에 대한 액세스를 제한할 수 있습니다.

워크플로(클러스터링)

1C 8.2 플랫폼에서는 애플리케이션 서버 작업자 프로세스(rphost 작업자 프로세스)를 수동으로 생성하는 것이 가능했습니다. 8.3에서는 작업자 프로세스가 ragent에 의해 생성됩니다. 동시에 실행되는 프로세스의 수는 작업 서버의 설정을 통해 간접적으로 제어할 수 있습니다.



기본 설정을 사용하면 8개의 정보베이스 또는 128개의 연결에 하나의 rphost가 사용됩니다. 32비트 OS를 사용하는 경우(즉, 프로세스당 RAM 소비에 제한이 있음) 이러한 값을 변경하는 것이 좋습니다. 예를 들어 프로세스당 하나의 기본을 설정하고 연결 수를 줄이세요. 최적의 연결 수는 경험적으로 선택되며 주로 특정 구성 및 백그라운드 작업 수에 따라 달라집니다.

워크플로의 속성을 살펴보고 있으므로 다른 설정을 언급할 가치가 있습니다.

값(바이트)(이 작업자 서버의 모든 클러스터 작업자 프로세스에 사용 가능)

  • -1 – 제한 없음;
  • 0 – 서버 RAM의 80%로 자동으로 결정됩니다.

호출당 안전한 메모리 소비값(바이트)입니다.

-1에서 9 223 372 036 854 775 807 사이의 값을 사용할 수 있습니다.

  • -1 – 서버 호출 중에 작업 프로세스의 최대 메모리 양에 도달하면 모든 서버 호출은 위험한 것으로 간주됩니다.
  • 0 – 볼륨 값은 지정된 작업 서버에서 작업 프로세스의 최대 메모리 용량의 5%로 자동 결정됩니다.

통화 중 메모리 양이 매개변수를 초과하는 경우 호출당 안전한 메모리 소비,모든 rphost 프로세스의 총 메모리 사용량이 설정된 값을 초과했습니다. 작업 프로세스의 최대 메모리 용량,그러한 통화는 중단됩니다.

서버가 생산적인 것으로 간주되는 작업 프로세스 메모리의 양,바이트 단위로 측정됩니다. 값이 0이면 설정된 제한이 없음을 나타냅니다. 이 작업자 서버의 모든 작업자 프로세스가 차지하는 총 메모리 양. 새 연결에 도달하면 더 이상 이 작업자 서버에 할당되지 않습니다.

깃발 각 서비스의 관리자이는 클러스터 관리자(rmngr 프로세스)의 별도 인스턴스가 각 서비스에 할당된다는 의미입니다. 클러스터에서 실행되는 서비스 목록:


깃발 중앙서버이는 이 서버가 연결을 적용하고 클러스터 레지스트리를 동기화할 수 있음을 의미합니다.

워크플로 설정은 CORP 라이선스를 사용할 때만 사용할 수 있습니다! PRO 라이선스가 있는 경우 설정을 사용할 수 있지만 해당 설정을 사용할 수 있는 권한은 없습니다.

서버를 클러스터로 통합

1C 서버를 클러스터로 결합하여 확장성(부하 분산) 및 내결함성 문제를 해결할 수 있습니다. 서버를 클러스터로 결합하는 것은 쉽습니다. 작동하는 서버를 생성하기만 하면 됩니다.


새 서버에 "중앙 서버" 옵션이 설치되어 있지 않으면 해당 서버는 작동하는 것으로 간주되어 세션 연결을 수락할 수 없습니다. 이 서버 상호 작용 아키텍처는 확장성을 위해 사용됩니다. 이를 위해서는 중앙 서버가 있어야 하고 클러스터 속성에서 내결함성 수준을 지정해야 하기 때문에 내결함성이 있을 수 없습니다.



내결함성 수준은 중앙 서버 수 -1로 설정됩니다.

설정 창에서 작업자 프로세스(rphost)당 리소스 소비에 대한 제한도 설정할 수 있습니다. 설정은 전체 클러스터에 대해 설정됩니다.


재시작 간격– 워크플로가 다시 시작되는 간격(초)입니다. 이 옵션이 설치된 순간부터 카운트다운이 시작됩니다.

허용되는 메모리 크기지표를 초과하는 조건이 트리거되면 동일한 크기의 다른 rphost 프로세스가 시작된다는 점을 기반으로 설정해야 합니다. 특정 시점에 이전 연결의 연결이 새 연결로 전환될 때까지 두 개의 프로세스가 있게 됩니다.

허용되는 메모리 양을 초과하는 간격– 매개변수에 설정된 메모리 소비가 허용되는 간격(초) 허용되는 메모리 양입니다.

허용되는 메모리 양을 초과하는 간격입니다.서버 오류 개수 허용 한도 속성 값이 0이면 오류 개수 차이 검사가 수행되지 않습니다. 이 속성에 설정된 값에 관계없이 요청 100개당 오류가 1개 이하인 워크플로는 정상적으로 작동하는 것으로 간주되며 문제가 있는 것으로 간주되지 않습니다. 서버 오류 수 속성의 허용 가능한 편차가 작동하는 방식에 대한 예를 살펴보겠습니다. 100개의 요청에 대해 평균적으로 지난 5분 동안 2개의 오류가 기록되었다고 가정해 보겠습니다. 서버 오류 수의 허용 편차 속성이 50으로 설정된 경우 요청 100개당 오류가 3개 이상 기록되는 워크플로는 문제가 있는 것으로 간주됩니다.

프로세스가 "부드럽게" 다시 시작됩니다.

  • 새로운 rphost 프로세스가 시작됩니다.
  • 이전 rphost 프로세스는 종료되지만 종료되지는 않습니다.
  • 연결은 새로 생성된 rphost 프로세스에 할당되며 즉시 완전히 작동됩니다.
  • 이전 프로세스는 기존 호출을 지원합니다. 이미 할당된 통화는 매개변수에 지정된 시간 동안 지원됩니다. “다음 이후에 꺼진 프로세스를 중지하세요”

여러 서버를 클러스터로 결합할 때 특정 서비스를 별도의 서버로 이동할 수 있습니다. 예를 들어 백그라운드 작업을 별도의 서버로 이동하거나 라이선스 서버(클라이언트 라이선스를 배포할 서버)를 만들 수 있습니다. 서버가 수행하고 재할당할 수 있는 서비스의 전체 목록:


특정 프로덕션 서버에 서비스를 할당하는 것은 기능 할당 요구 사항을 통해 수행됩니다.



이 기사에서는 관리 콘솔의 주요 기능에 대해 논의했지만 이 주제는 ITS에서 찾을 수 있는 관리 유틸리티의 특정 기능에 대한 매우 광범위하고 포괄적인 정보입니다.

인쇄(Ctrl+P)

이 문서에는 Microsoft SQL Server 2012를 실행하는 시스템의 클라이언트-서버 버전에 일반적인 1C:Enterprise 시스템 관리의 일부 요소에 대한 설명이 포함되어 있습니다.

클라이언트-서버 버전에서 백업 사본 생성

서버 클러스터 관리

클러스터 관리 콘솔 또는 유틸리티 1cv8 server.msc는 MMC(Microsoft Management Console) 플러그인이며 적절한 소프트웨어가 설치된 컴퓨터에서 사용할 수 있습니다. 기본적으로 C:\Program Files (x86)\1cv8\common 폴더에 설치됩니다.

클러스터 관리 유틸리티다음 문제를 해결하도록 설계되었습니다.

  • 서버 클러스터 생성, 수정 및 삭제
  • 기존 클러스터 수정: 작업 서버 생성, 매개변수 변경 및 삭제, 작업 서버에 기능 요구 사항 할당
  • 클러스터 내결함성 수준 설정
  • 개별 작업 서버의 수동 부하 조정;
  • 중앙 클러스터 서버의 관리자 목록 및 클러스터 관리자 목록을 관리합니다.
  • 정보 기반 및 서비스 연결에 대한 사용자 연결 모니터링
  • 정보 기반에서 사용자의 연결을 끊습니다.
  • 1C:Enterprise 8 개체 잠금 및 클라이언트 연결 잠금 모니터링
  • 데이터베이스 관리 시스템의 트랜잭션 잠금에 대한 운영 분석
  • 사용자 연결 차단 관리 정보 베이스;
  • 일상적인 작업 차단 관리.

이 기사에서는 새로운 정보 기반 등록만을 고려할 것입니다.

새로운 정보베이스 등록

서버 클러스터 관리 유틸리티를 사용하여 새 정보베이스를 등록하려면 필요한 중앙 서버, 이 서버에 등록된 필수 클러스터, 중앙 서버 트리에서 Infobases 분기를 선택하고 상황에 맞는 메뉴 명령 Create – Infobase 또는 유사한 명령을 실행하십시오. 유틸리티의 기본 메뉴.

명령을 실행하면 정보베이스 속성 대화 상자가 화면에 나타납니다.

정보베이스 매개변수는 1C:Enterprise 시작 창을 사용하여 생성된 새 정보베이스의 매개변수와 동일합니다.

유형 DBMS: 마이크로소프트 SQL 서버.

데이터베이스 서버: 서버 이름. 컴퓨터 이름(컴퓨터에 하나의 서버 인스턴스가 설치된 경우) 또는 특정 인스턴스의 이름(여러 인스턴스가 설치된 경우)으로 지정할 수 있습니다. 예를 들어 서버/인스턴스입니다. 1C:Enterprise 서버와 Microsoft SQL Server가 동일한 컴퓨터에 있고 Microsoft SQL Server용 Native Client(네이티브 클라이언트)가 설치된 경우 SHARED MEMORY 프로토콜을 사용하여 서버 간 통신이 가능합니다. 이렇게 하려면 Microsoft SQL Server 이름 앞에 lpc: 접두사를 지정해야 합니다. 이 경우 DBMS 서버 이름은 lpc:Server/instance와 같습니다.

데이터베이스 이름: 데이터베이스 이름의 첫 번째 문자는 "_" 문자뿐만 아니라 라틴 알파벳 문자도 가능합니다. 후속 문자는 라틴 알파벳 문자, 숫자 및 기호 "_", "$"일 수 있습니다. 이름 길이는 63자로 제한됩니다. 이름에는 공백이 허용되지 않습니다. 이름은 데이터베이스 서버 쿼리 언어의 예약어일 수 없습니다. 데이터베이스 이름에는 다음 문자를 사용할 수 없습니다: "<», «>"", "#", "%", """, "(", ")", "[", "]", "|", "\", "^", "`" 뿐만 아니라 0부터 31, 127까지의 코드를 가진 문자

데이터베이스 사용자: 데이터베이스에 액세스할 데이터베이스 서버 사용자의 이름입니다. 향후 선택된 데이터베이스의 구조를 자유롭게 수정하기 위해서는 지정된 사용자가 데이터베이스 서버 관리자(sa)이거나 데이터베이스의 소유자(이미 존재하는 경우)여야 합니다. 후자의 경우 이 사용자는 master 데이터베이스에 대한 읽기 액세스 권한과 tempdb 데이터베이스에 대한 전체 액세스 권한이 있어야 합니다. 위와 더불어 지정된 사용자는 processadmin 또는 sysadmin 고정 서버 역할의 구성원이어야 합니다.

사용자 암호: 데이터베이스에 액세스할 사용자의 비밀번호입니다.

날짜 오프셋– 0 또는 2000. 이 매개변수는 날짜가 Microsoft SQL Server 데이터베이스에 저장될 때 날짜에 추가되고 검색될 때 빼지는 연도 수를 결정합니다. 이 매개변수의 존재 여부는 Microsoft SQL Server의 날짜 저장 특성에 따라 결정됩니다. Microsoft SQL Server에서 사용되는 DATETIME 유형을 사용하면 1753년 1월 1일부터 9999년 12월 31일까지의 범위에 날짜를 저장할 수 있습니다. 그리고 정보베이스로 작업할 때 이 범위의 하한 이전 날짜를 저장해야 할 경우 매개변수 값으로 2000을 선택해야 합니다. 해당 날짜가 발견되지 않으면 0을 선택할 수 있습니다. 날짜 오프셋. 정보베이스를 생성한 후 이 매개변수의 값 아니다변경될 수 있습니다.

주목!애플리케이션 솔루션이 누적 레지스터 또는 회계 레지스터를 사용하는 경우 날짜 오프셋 필드를 2000으로 설정해야 합니다. 데이터베이스 생성 시 이 필드에 값 0을 입력한 경우 정보베이스를 파일에 업로드해야 하며 필드에 오프셋 날짜를 2000으로 표시하고 정보베이스를 로드해야 함을 나타내는 데이터베이스를 다시 생성해야 합니다.

주목! Infobase 이름은 동일한 클러스터 내에서 고유해야 합니다. 새로운 정보베이스를 등록할 때 시스템은 지정된 데이터베이스 서버에 동일한 이름의 데이터베이스가 존재하는지 확인합니다. 데이터베이스가 존재하는 경우 해당 데이터베이스에 대한 연결이 설정됩니다. 기존 데이터베이스에 이미 1C:Enterprise 정보 베이스의 데이터가 포함되어 있는 경우 기존 정보 베이스와의 연결이 설정됩니다. 데이터베이스에 정보베이스 데이터가 포함되어 있지 않으면 새로운 1C:Enterprise 정보베이스가 초기화됩니다.

정보베이스로 작업을 수행할 때 오류가 발생했습니다.

SQL 데이터베이스에 연결할 때 다양한 생성 또는 연결 오류가 발생할 수 있습니다. 예를 들어 다음 오류가 발생하는 경우:

이 경우 정보베이스를 생성하려는 시도가 있었고 엔터프라이즈 서버가 Microsoft SQL Server에 대한 연결을 설정할 수 없었습니다. 확인해야 할 사항:

  • 사용자 인증 매개변수(이름, 비밀번호 및 데이터베이스 생성 권한)
  • 데이터베이스 이름이 명명 규칙을 따르나요?
  • 데이터베이스 서버 이름이 올바르게 설정되어 있습니까?
  • 사용자의 인증 유형과 일치합니다. 아마도 사용자가 SQL Server 사용자 이름으로 로그인되어 있고 SQL 설정에 잘못된 사용자 인증 유형이 설정되어 있을 수 있습니다.

이 기사에서는 서버 클러스터 관리 서버, 특히 유틸리티에 대해 알아 보겠습니다. rac.exe그리고 ras.exe, 프로그램도 그렇고 디플로이카이를 통해 명령줄에서 1C:Enterprise 서버 클러스터를 관리할 수 있습니다.

전통에 따르면, 읽기가 너무 게으른 모든 사람에게 이 주제에 대한 웹 세미나를 시청할 것을 제안합니다.

글쎄, 나머지 부분에 대해서는 컷에 오신 것을 환영합니다.

1. 일반정보

1C:Enterprise 버전 서버 클러스터 관리 8.3 1C 서버 관리 콘솔과 명령줄을 모두 사용하여 가능합니다. 이러한 목적을 위해 제공됩니다 서버 클러스터 관리 서버, 두 가지 유틸리티로 구성: 서버 자체 - 프로그램 rac.exe및 명령줄 유틸리티 rac.exe, 이전에 실행 중인 ras 서버에 액세스하여 1C:Enterprise 서버 클러스터로 다양한 작업을 수행할 수 있습니다.

플랫폼과 함께 제공되는 "관리자 가이드" 책에서 이 메커니즘에 대한 자세한 내용을 읽을 수 있습니다. 클라이언트-서버 옵션"(또는 그에 따라 ITS 웹사이트에서).

이 링크의 일반적인 작동 방식은 다음과 같습니다.

관리 서버는 다음과 같아야 합니다. 동일한 버전, 1C:Enterprise 서버 클러스터 버전으로 동시에 하나의 서버 클러스터에 연결할 수 있습니다. 일부관리 서버와 통신할 수 있지만 특정 관리 서버는 통신할 수 있습니다. 하나만으로서버 에이전트.

관리 서버와 명령줄 유틸리티는 모두 1C:Enterprise 플랫폼이 지원하는 모든 OS에서 실행될 수 있습니다. 하지만 이 기사에서는 Windows 운영 체제 제품군으로만 제한하겠습니다.

2. 관리서버 구성요소 설치

서버 자체와 관리 유틸리티는 모두 1C:Enterprise 서버 구성 요소에 포함되어 있습니다. 따라서 1C:Enterprise 서버 에이전트 서비스를 실행하는 컴퓨터에서는 이미 설치되어 있어야 합니다기본.

이를 확인하려면 1C:Enterprise 서버 파일이 있는 디렉토리로 이동하여 해당 유틸리티를 찾으십시오(편의를 위해 파일을 유형별로 그룹화할 수 있음).

1C:Enterprise 서버 설치에 대해 자세히 썼습니다.

이전에 설치했던 컴퓨터에 관리 서버를 설치하려면 아니였다 1C:Enterprise 서버가 설치되었습니다. 1C 서버 설치 배포 키트를 실행하고 구성 요소의 일부로 항목을 선택해야 합니다. "서버 1C:엔터프라이즈 8".

또한 이 구성 요소를 선택하면 다음 단계에서 설치 마법사가 1C:Enterprise 서버를 Windows 서비스로 설치하도록 제안합니다. 물론 이 시점부터 버려야한다해당 플래그를 제거하여.

설치 후에는 위에 설명된 방식으로 필요한 모든 구성 요소가 있는지 확인해야 합니다.

3. 관리 서버 시작

얻기 위해 자세한 정보다음 명령을 실행하여 ras.exe 유틸리티를 사용하여 도움말을 불러올 수 있습니다.

도움말에서 관리 서버가 다음과 같이 작동할 수 있음을 알 수 있습니다. 응용 프로그램 모드, 그래서, 어떻게 윈도우 서비스(매개변수 서비스 ). 또한 관리 서버가 실행될 네트워크 포트를 설정할 수도 있습니다(매개변수 포트 , 기본 포트가 사용됩니다 1545 ), 클러스터 관리 모드의 경우 모드는 다음과 같습니다. 무리 . 다음 명령을 사용하여 이 모드에 대한 도움말을 호출할 수 있습니다.

rac 도움말 클러스터

그런 다음 이 모드가 1C:Enterprise 서버 클러스터 에이전트의 주소를 인수로 지정하는 것을 볼 수 있습니다. 기본값은 로컬호스트:1540.

따라서 1C:Enterprise 서버 에이전트가 실행되는 동일한 머신에서 관리 서버가 시작되면 다음 명령을 실행하는 것으로 충분합니다.

예를 들어 네트워크 이름이 있는 컴퓨터에서 실행 중인 서버 에이전트에 연결해야 하는 경우 서버1C, 에이전트는 비표준 포트에서 작동합니다. 2540 , 명령은 다음과 같습니다.

rac 클러스터 서버1c:2540

4. 관리 서버를 Windows 서비스로 시작

물론, 관리 서버를 매번 수동으로 시작하지 않으려면 Windows 서비스로 한 번 시작하는 것이 편리합니다. 그러나 안타깝게도 플랫폼 개발자는 예를 들어 해당 서비스를 시스템에 자동으로 등록하는 기능을 구현하지 않았습니다. 서비스를 추가하려면 시스템 유틸리티를 사용하는 것이 좋습니다 sc. 이 과정을 좀 더 자세히 살펴보겠습니다.

이 이름을 로컬 사용자로 둡니다. USR1CV8_RAS그리고 비밀번호 패스123

Register-ras.bat 파일:

@에코 꺼짐 rem %1 - 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\" 클러스터 --service --port=% RASPort % % AgentName % :% CtrlPort % " set Desctiption="1C:Enterprise 8.3 원격 서버" sc stop % SrvcName % sc delete % SrvcName % sc create % SrvcName % binPath= % BinPath % start= 자동 obj= % SrvUserName % 비밀번호= % SrvUserPwd % displayname= % 설명 %

파일에서 우리는 다음을 나타냅니다:

  • 서비스가 시작될 사용자 이름 및 비밀번호 - 변수 서비스 사용자 이름 그리고 SrvUserPwd
  • 관리할 서버 에이전트의 주소 및 포트 - 변수 에이전트 이름 그리고 Ctrl포트
  • 관리 서버가 실행될 서비스 이름 및 네트워크 포트 - 변수 RAS 포트 그리고 서비스 이름 . 예를 들어 서로 다른 1C 서버를 서비스하기 위해 여러 관리 서버를 병렬로 실행하려는 경우에만 이러한 매개변수를 변경하는 것이 좋습니다.

bat 파일의 유일한 매개변수는 1C:Enterprise 플랫폼의 현재 버전입니다. 따라서 우리가 실행하는 서비스를 만들기 위해 명령줄관리자 권한으로 이전에 생성된 파일을 실행합니다. 레지스터-ras.bat, 필요한 플랫폼 버전을 표시하는 것을 잊지 마십시오.

지정된 이름의 서비스가 시스템에 나타나는지 확인합니다. 그리고 컨텍스트 메뉴에서 적절한 항목을 선택하여 즉시 실행합니다.

이로써 관리 서버를 서비스로 설치하는 작업이 완료되었습니다.

5. rac.exe 유틸리티를 사용하여 서버 클러스터 관리

그래서 우리는 관리 서버를 설치했습니다. 서버와의 상호 작용은 특수 콘솔 유틸리티 rac.exe를 사용하여 수행됩니다. 명령을 실행해보자

이 프로그램에 대한 도움을 받으려면

도움말에서 볼 수 있듯이 유틸리티에는 관리 서버의 주소를 지정하는 하나의 공통 인수가 있습니다(기본적으로 로컬호스트:1545) 및 다양한 작동 모드: 서버 클러스터 에이전트, 클러스터 자체, 클러스터 관리자, 작업자 프로세스 등을 관리합니다. 각 모드에 대한 도움말은 해당 명령으로 호출할 수 있습니다.

모든 작동 모드를 설명하는 것은 분명히 의미가 없습니다. 몇 가지 작업 예를 들어 보겠습니다.

클러스터에 대한 정보 목록 가져오기:

특정 서버 클러스터의 정보베이스 목록 가져오기:

지정된 정보베이스와의 연결 목록 수신:

관리 유틸리티를 사용하면 서버 클러스터, 프로덕션 서버 및 정보베이스 관리자에 대한 OS 인증을 제외하고 서버 클러스터를 관리하는 데 필요한 모든 작업을 수행할 수 있습니다.

6. 관리 서버 작업을 위한 소프트웨어 래퍼

예제에서 볼 수 있듯이 rac 유틸리티를 사용하여 명령줄에서 작업하는 것은 여전히 ​​즐겁습니다. 하지만 이 메커니즘은 수동 제어를 위해 만들어지지 않았습니다. 예를 들어, ITS 웹 사이트에는 콘솔 관리 유틸리티의 도움 없이 Java 프로그램에서 관리 서버와 상호 작용할 수 있는 Java 아카이브가 있습니다. 이 패키지를 다운로드할 수 있습니다.

가장 중요한 것은 명령줄에서 1C 서버 클러스터에 대한 다양한 명령을 실행할 수 있다는 것입니다. 이는 1C:Enterprise 서버 클러스터와 상호 작용하는 데 필요한 기능을 다양한 프로그램, 처리 또는 스크립트에 추가할 수 있음을 의미합니다.

예를 들어, 무엇보다도 해당 언어로 작성된 내용이 관리 서버에서 작동할 수 있습니다. 원스크립트프로그램 디플로이카.

나는 이미 OneScript 건너뛰기 엔진에 대해 이야기했습니다.

배포카 프로그램에 대해 자세히 알아볼 수 있습니다.

뭐, 최대한 전체 리뷰이 문서에서는 OneScript로 작성된 사용 가능한 모든 라이브러리와 응용 프로그램을 제공합니다.

7. 배포카 프로그램을 이용한 설치 및 구성

OneScript 및 배포카의 설치 알고리즘은 이전 단락에 제공된 링크의 기사에서 자세히 설명합니다. 간단히 말해서 다음 사항으로 구성됩니다.

1. 공식 웹사이트에서 OneScript 배포판을 다운로드하세요.

2. 마법사의 지시에 따라 설치합니다.

3. 새로운 환경 변수가 적용되도록 시스템에 다시 로그인합니다.

4. 관리자 권한으로 명령줄을 실행하고 이전 단계가 명령줄에서 올바르게 실행되었는지 확인합니다.

5. 패키지 관리자를 사용하여 배포카 프로그램 설치 opm명령을 실행하여

opm 설치 배포

6. 다음 명령으로 "배포" 도움말을 호출하여 모든 것이 작동하는지 확인합니다.

7. 기본적으로 그게 전부입니다. 프로그램의 모든 작동 모드가 화면에 표시됩니다. 그런 다음 웹 사이트나 콘솔에서 도움말을 읽고 적절한 명령을 사용하여 각 모드에 대한 힌트를 불러옵니다.

예를 들어, 지정된 정보베이스의 모든 세션을 종료한 다음 세션 시작을 차단할 수 있는 방법입니다.

배포카 세션 종료 -db Accounting_Demo -rac "C:\Program Files\1cv8\8.3.11.2867\bin\rac.exe" -db-user "AbramovGS(디렉터)"

8. 이제 스크립트에서 "배포"를 사용할 수 있습니다. 예를 들어 저장소에서 정보베이스를 업데이트하고 사용자 연결을 끊고 데이터베이스를 업데이트하는 스크립트는 다음과 같습니다.

@에코 켜짐 rem 변수의 값을 설정 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 사용자 종료 Deployka 세션 호출 kill -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode % rem 저장소에서 데이터베이스 구성을 업데이트합니다. Deployka loadrepo % ConStr % % RepoPath % -db-user % UserName % -db-pwd % UserPass % -storage-user % RepoUserName % -storage-pwd % RepoUserPass % -uccode % uccode % 호출 rem 데이터베이스 구성 업데이트배포카 dbupdate % ConStr % -db-user % UserName % -db-pwd % UserPass % -uccode % uccode %를 호출합니다. rem 세션 잠금 해제배포 카 세션 잠금 해제 호출 -db % BaseName % -db-user % UserName % -db-pwd % UserPass % -rac % RacPath % -lockuccode % uccode %

끝까지 읽어주신 모든 분들께 감사드립니다. 질문이 있으면 적어보세요.

이 기사가 도움이 되었나요?