이 문서는 Jira MSSQL 설정을 위한 가이드를 공유하기 위해 작성되었다.
가. SQL 서버 데이터베이스 생성과 구성
데이터베이스를 생성할때 데이터 베이스의 이름, 사용자 이름, 스키마 이름 및 포트 번호를 메모하세요.
Atlassian Document : https://confluence.atlassian.com/adminjiraserver/connecting-jira-applications-to-sql-server-2017-970613480.html
아래 절차에 따라 필요한 것들을 수행
Jira를 위한 데이터베이스 생성 (e.g. jiradb)
collation type은 case-insensitive
SQL_Latin1_General_CP437_CI_AI
Latin1_General_CI_AI
case-insensitive, accent-insensitive, language neutral collation types
데이터베이스 user 생성 (e.g. jiradbuser)
이 user는 db_owner role이 필요
빈 schema를 생성 (e.g. jiraschema)
데이터베이스 user의 권한 부여 (테이블 create, update 등)
포트 확인 - 기본 1433
SQL Server 인증 모드
Error: 18452일 경우, Mixed Authentication Mode
SET NOCOUNT 옵션을 끄기
SQL Server 관리 스튜디오 실행
Tools > Options > Query Execution > SQL Server > Advanced로 이동 SET NOCOUNT 체크박스 해제
Server > Properties > Connections > Default Connections으로 이동 no count 옵션 해제
새로 만든 데이터베이스에서 오른쪽 마우스를 클릭하여 Query Console 수행 후 "New Query" 선택하여 다음 명령어 수행
ALTER DATABASE jiradb SET READ_COMMITTED_SNAPSHOT ON
상기 내용을 정리하면 다음과 같다.
항목 | 값 | 비고 | |
---|---|---|---|
1 | 데이터베이스 생성 | jiradb | SQL_Latin1_General_CP437_CI_AI Latin1_General_CI_AI case-insentive, accent-insensitive |
2 | 데이터베이스 user 생성 | jiradbuser | db_owner role |
3 | 스키마 생성 | jiraschema | |
4 | 데이터베이스 user 권한 | create, update 권한 | |
5 | 포트 확인 | 1433 | |
6 | SQL Server 인증모드 | Error: 18452일 경우, Mixed Authentication Mode | |
7 | SET NOCOUNT 옵션을 끄기 |
| |
8 | New Query 수행 | ALTER DATABASE jiradb SET READ_COMMITTED_SNAPSHOT ON |
나. Jira에서 데이터베이스 연결 구성
Jira setup wizard를 통해 진행할 경우 다음 절차에 따라 진행합니다.
Configure Language and Database 화면에서 Database Connection을 My own database 선택
Database Type을 SQL Server로 설정
다음 가이드에 따라 항목 설정
항목
예시
Hostname
dbserver 주소
Port
1433
Database
jiradb
Username
jiradbuser
Password
jiradbuser
Schema
Jiraschema
테스트 수행
수동으로 dbconfig.xml을 구성할 경우 다음 샘플을 참고한다.
<jira-database-config> <name>defaultDS</name> <delegator-name>default</delegator-name> <database-type>mssql</database-type> <schema-name>jiraschema</schema-name> <jdbc-datasource> <url>jdbc:sqlserver://dbserver:1433;databaseName=jiradb</url> <driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class> <username>jiradbuser</username> <password>password</password> <pool-min-size>20</pool-min-size> <pool-max-size>20</pool-max-size> <pool-max-wait>30000</pool-max-wait> <pool-max-idle>20</pool-max-idle> <pool-remove-abandoned>true</pool-remove-abandoned> <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout> <validation-query>select 1</validation-query> <min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis> <time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis> <pool-test-while-idle>true</pool-test-while-idle> <pool-test-on-borrow>false</pool-test-on-borrow> </jdbc-datasource> </jira-database-config>