매뉴얼웍스 데이터베이스로 MS SQL 서버를 사용하는 방법을 설명합니다.
MS SQL 서버 2008 버전부터 지원합니다. MS SQL 서버를 사용하면 해당 데이터베이스 백업 기능으로 데이터를 백업해야 합니다.
매뉴얼웍스는 유니코드가 필요한 문자열과 긴 텍스트를 NVARCHAR 칼럼에 저장하고, 나머지 문자열은 VARCHAR 칼럼에 저장합니다. VARCHAR 칼럼의 문자 인코딩과 문자열 비교·정렬 방식은 데이터베이스 콜레이션을 따르므로 데이터베이스를 만들 때 사용하는 언어에 맞는 콜레이션(예: 한국어는 Korean_Wansung_CI_AS)을 지정합니다.
MS SQL 서버 JDBC 드라이버 추가
3RABBITZ_HOME은 매뉴얼웍스를 설치한 디렉터리를 지칭합니다.
MS SQL 서버 버전에 맞는 JDBC 드라이버를 3RABBITZ_HOME/web/WEB-INF/lib 디렉터리에 추가합니다.
MS SQL 서버 JDBC 드라이버는 마이크로소프트 사이트에서 내려받습니다. 자바 8에서는 mssql-jdbc-버전.jre8.jar 드라이버를, 자바 11 이상에서는 mssql-jdbc-버전.jre11.jar 드라이버를 사용합니다.
환경 설정 파일 변경
다음 순서로 매뉴얼웍스에 MS SQL 서버를 설정합니다.
3RABBITZ_HOME/tomcat/conf/server.xml파일을 엽니다.
<Context docBase="${3rabbitz.home}/web" path=""
reloadable="false" backgroundProcessorDelay="3">
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" />
<!-- H2 -->
<Resource name="jdbc/Base" auth="Container" type="javax.sql.DataSource"
driverClassName="org.h2.Driver" url="jdbc:h2:h2/database;"
username="database" password="database"
maxTotal="100" maxIdle="30" maxWaitMillis="10000"/>
<!-- for MS SQL -->
<!--
<Resource name="jdbc/Base" auth="Container" type="javax.sql.DataSource"
maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="username" password="password"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;encrypt=false;databaseName=rabbitz" />
-->
</Context>H2 설정 부분을 주석 처리합니다.
MS SQL 설정 부분 주석을 제거합니다.
username, password, url등을 변경합니다.매뉴얼웍스를 재시작합니다.
최근 MS SQL 서버 JDBC 드라이버(10.2 버전 이상)는 encrypt 속성의 기본값이 true입니다. 서버에 신뢰할 수 있는 인증서가 없으면 TLS 오류로 연결하지 못하므로 예시처럼 url에 encrypt=false를 넣습니다. 암호화된 연결을 사용하려면 encrypt=true로 두고 서버 인증서를 설정합니다.
설치와 소프트웨어 업데이트를 할 때 자동으로 매뉴얼웍스 테이블을 만듭니다. username에 설정한 MS SQL 서버 계정이 테이블 생성, 칼럼 변경, 인덱스 추가와 삭제 권한을 갖고 있어야 합니다.
server.xml 파일에는 데이터베이스 계정의 비밀번호가 평문으로 들어 있습니다. 매뉴얼웍스를 실행하는 계정만 이 파일을 읽을 수 있도록 파일 권한을 제한합니다. 연결 정보를 암호화하려면 데이터베이스 연결 정보 암호화를 참고합니다.