Analisis Database & Connection Strings untuk DR Planning
Proyek: DPKWI CoreApps
Tanggal: 13 Februari 2026
Tujuan: Dokumentasi lengkap connection strings dan infrastruktur untuk setup Disaster Recovery Site
Ringkasan
TOTAL HOST PRODUCTION: 3
- HOST 1 (192.168.3.3): SQL Server (5 databases) + SSRS
- HOST 2 (192.168.3.4): Application Server (API) + Web Server (CLI/UI)
- HOST 3 (192.168.1.5): LDAP Server (autentikasi)
A. Runtime Connection Strings (Production - Web.config)
PENTING: SEMUA database production berjalan di: 192.168.3.3 (SQL Server)
| Database |
Connection String |
| DPKWIADM |
Data Source=192.168.3.3 |
| DPKWIKEP |
Data Source=192.168.3.3 |
| DPKWIINV |
Data Source=192.168.3.3 |
| DPKWIACC |
Data Source=192.168.3.3 |
| DPKWIMIS |
Data Source=192.168.3.3 |
Catatan penting untuk DR:
- Saat runtime/production, aplikasi HANYA menggunakan connection strings dari API/Web.config
- Semua database terpusat di host 192.168.3.3
B. Design-Time Connection Strings (DBML Files)
PERHATIAN: DBML files berisi connection strings yang digunakan saat development/design-time untuk generate LINQ-to-SQL classes. Connection strings ini TIDAK dipakai saat aplikasi berjalan.
| DBML File |
Host |
Port |
Database |
Note |
| ACCDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIACC |
SQL 2022 DEV |
| ADMDataModel.dbml |
plitasoft.dynu.com\MSSQLSERVER2019 |
60170 |
DPKPENADM |
SQL 2019 |
| AUTDataModel.dbml |
192.168.1.83\mssqlserver2019 |
- |
DPBCAADM |
SQL 2019 Local |
| FINDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIACC |
SQL 2022 DEV |
| KEPDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIKEP |
SQL 2022 DEV |
| MISDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIKEP |
SQL 2022 DEV |
| INVMSDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIINV |
SQL 2022 DEV |
| INVFIXDataModel.dbml |
plitasoft.dynu.com\MSSQLSERVER01 |
51234 |
DPKPENINV |
SQL 2019 |
| INVPAUDataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIINV |
SQL 2022 DEV |
| INVPLADataModel.dbml |
plitasoft.dynu.com\SQLSRV2022DEV |
51235 |
DPKWIINV |
SQL 2022 DEV |
| INVPRODataModel.dbml |
192.168.1.83\MSSQLSERVER2019 |
- |
DPBCAINV |
SQL 2019 Local |
| INVRKSDataModel.dbml |
plitasoft.dynu.com\MSSQLSERVER2019 |
60170 |
DPBCAINV |
SQL 2019 |
| INVSHMDataModel.dbml |
plitasoft.dynu.com\MSSQLSERVER2019 |
60170 |
DPBCAINV |
SQL 2019 |
| INVDIRDataModel.dbml |
dpbca14-pc\SQL2016 |
- |
DPBCAINV |
SQL 2016 (OLD) |
| INVRiskDataModel.dbml |
dpbca14-pc\SQL2016 |
- |
DPBCAINV |
SQL 2016 (OLD) |
Kesimpulan:
- DBML files menggunakan berbagai host development yang berbeda (plitasoft.dynu.com, 192.168.1.83, dpbca14-pc)
- Ini hanya untuk keperluan development/regenerate LINQ-to-SQL classes
- Tidak perlu direplikasi untuk DR karena tidak dipakai saat runtime
C. Host Production yang Perlu Direplikasi untuk DR
TOTAL HOST PRODUCTION: 3
HOST 1: SQL Server + SSRS (192.168.3.3) PRIORITY 1
Host: 192.168.3.3
A. SQL Server Databases:
- DPKWIADM (Administrasi)
- DPKWIKEP (Kepesertaan)
- DPKWIINV (Investasi)
- DPKWIACC (Akuntansi)
- DPKWIMIS (MIS/Reporting)
Metode Replikasi:
- SQL Server Always On Availability Groups (AG) - Recommended
- Log Shipping (alternatif)
- Database Mirroring (legacy option)
B. SSRS Report Server:
URL: http://192.168.3.3/ReportServer?/DPKWIRPT/DPKWIRPTPROD
- Database catalog:
ReportServer, ReportServerTempDB
- Report definitions (.rdl files) mungkin ada di file system
- Metode replikasi: Backup/restore database SSRS
HOST 2: Application & Web Server (192.168.3.4) PRIORITY 2
Host: 192.168.3.4
Host ini menjalankan 2 komponen dalam 1 server:
A. Application Server (API):
- Path:
{app_root}\Apps\CoreApps\API
- ASP.NET Web API (.NET Framework)
- Folder API/Files berisi upload/attachment user
- Metode replikasi file: DFS-R, robocopy scheduled task, atau rsync
- Binary deployment: Publish dari source control atau sync folder bin/
B. Web Server (UI/CLI):
- Path:
{app_root}\Apps\CoreApps\CLI
- Angular SPA bundles (sudah compiled)
- Deployment: Deploy via IIS atau sync dari source control
Catatan: Kedua aplikasi ini berjalan di IIS pada host yang sama (192.168.3.4)
HOST 3: LDAP Server (192.168.1.5) PRIORITY 3
Host: 192.168.1.5
- Digunakan untuk autentikasi/otorisasi user
- Perlu replikasi LDAP directory atau setup secondary LDAP server
- Metode replikasi: LDAP replication atau secondary Domain Controller
- Konfigurasi di API/Web.config (appSettings > LDAPServer)
D. Diagram Infrastruktur untuk DR
flowchart TB
subgraph PRIMARY["Primary Site (Jaringan Lokal) - 3 HOST"]
subgraph HOST1["HOST 1: 192.168.3.3"]
DB["SQL Server
(DPKWIADM/KEP/INV/ACC/MIS)"]
SSRS["SSRS
ReportServer"]
end
subgraph HOST2["HOST 2: 192.168.3.4"]
API["Application Server
(ASP.NET Web API)"]
UI["Web Server
(Angular SPA)"]
FILES["File Storage
API/Files"]
end
subgraph HOST3["HOST 3: 192.168.1.5"]
LDAP["LDAP Server
(Authentication)"]
end
end
subgraph DR["DR Site (Lokasi Lain) - 3 HOST"]
subgraph HOST1_DR["HOST 1 DR"]
DB_DR["SQL Server DR
(DPKWIADM/KEP/INV/ACC/MIS)"]
SSRS_DR["SSRS DR
ReportServer"]
end
subgraph HOST2_DR["HOST 2 DR"]
API_DR["Application Server DR
(ASP.NET Web API)"]
UI_DR["Web Server DR
(Angular SPA)"]
FILES_DR["File Storage DR
API/Files"]
end
subgraph HOST3_DR["HOST 3 DR"]
LDAP_DR["LDAP Server DR
(Authentication)"]
end
end
DB -->|"Always On AG
Log Shipping"| DB_DR
SSRS -->|"Database
Backup/Restore"| SSRS_DR
API -->|"App Deploy
Binary Sync"| API_DR
UI -->|"Bundle
Sync"| UI_DR
FILES -->|"DFS-R
Robocopy"| FILES_DR
LDAP -->|"LDAP
Replication"| LDAP_DR
E. Checklist Replikasi DR
Data yang Perlu Sinkronisasi Real-time/Near-time
1. Database SQL Server (192.168.3.3):
- DPKWIADM (MDF/LDF)
- DPKWIKEP (MDF/LDF)
- DPKWIINV (MDF/LDF)
- DPKWIACC (MDF/LDF)
- DPKWIMIS (MDF/LDF)
Metode: Always On AG (sync), Log Shipping (async)
2. File Storage:
- API/Files/* (upload/attachment user)
Path: {app_root}/API/Files/
Metode: DFS-R, robocopy scheduled task, rsync
3. SSRS Catalog:
- Database ReportServer
- Database ReportServerTempDB
- Report files (.rdl) jika ada di file system
Metode: Database backup/restore, file sync
4. LDAP Directory:
- User accounts & groups
- Organizational units
Metode: LDAP replication, secondary DC
Konfigurasi yang Perlu Disesuaikan di DR Site
1. API/Web.config:
- Connection strings (ganti 192.168.3.3 → IP DR site)
- LDAPServer (ganti 192.168.1.5 → IP LDAP DR)
- machineKey (harus sama dengan primary untuk cookie/session compatibility)
2. CLI/main.bundle.js:
- Global.URL / API_BASE_URL (ganti IP API → IP DR)
- REPORT_URL (ganti IP SSRS → IP DR)
Note: Butuh rebuild Angular jika ada source TS, atau edit bundle langsung
3. SQL Server Logins:
- Grant permissions yang sesuai ke 5 database
4. IIS/Web Server:
- Setup application pool
- Configure bindings
- SSL certificate (jika ada)
Testing DR Failover
- Test koneksi database dari app server DR
- Test LDAP authentication
- Test SSRS report generation
- Test file upload/download
- Test full user workflow (login → transaction → report)
Ketergantungan Eksternal (Ringkasan)
TOTAL HOST PRODUCTION: 3
- HOST 1 (192.168.3.3):
- SQL Server (5 databases: DPKWIADM, DPKWIKEP, DPKWIINV, DPKWIACC, DPKWIMIS)
- SSRS Report Server (http://192.168.3.3/ReportServer)
- HOST 2 (192.168.3.4):
- Application Server (ASP.NET Web API)
- Web Server (Angular SPA/CLI)
- File Storage (API/Files)
- HOST 3 (192.168.1.5):
- LDAP Server (autentikasi/otorisasi)
Connection Strings: Dikonfigurasi di API/Web.config
DPKWI CoreApps - Disaster Recovery Planning Documentation
Generated: 13 Februari 2026