일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- mom
- Jenkins
- DevOps
- 자동배포
- docker
- JPA
- Javascript
- apache.poi
- mssql
- ORM
- Stream
- sqlserver
- 대용량 업로드
- stream api
- 제이쿼리그리드
- 엑셀 업로드
- ci/cd
- rabbitmq
- jqGrid
- 자바8
- 스트림
- java
- poi
- MessageQueue
- 보안
- 자동빌드
- QueryDSL
- 그리드
- spring
- JQuery
- Today
- Total
목록mssql (5)
개발 메모장
#. 민감 데이터인 개인정보는 웹에서 보이지 않도록 반드시 마스킹 처리를 하여 정보를 보호해야 합니다.#. 이러한 개인정보는 웹 곳곳에서 사용되므로 하나하나 처리하기보단 function으로 처리하는 편이 관리하기 편합니다.#. 따라서 MSSQL에서 마스킹 function을 만들어 보고자 합니다. #. 마스킹 처리 기준 - 이는 명확한 기준이 없기에 처리하는 담당자마다 다르게 처리할 수 있습니다. - 관계된 법령이 있는지 확실치 않습니다. 있다면 알려주시길 부탁드립니다! 이름이 2자인 경우 마지막 글자를, 3자인 경우 가운데를, 4자 이상인 경우 처음과 끝 1자리를 제외한 나머지를 마스킹합니다.전화번호의 경우 가운데 3~4자리를 마스킹합니다.주소의 경우 상세주소를 마스킹합니다...

#. 지향하는 방법은 아니지만 프로시저를 쓰는 곳이 있기에 작성해겠습니다. #. 프로시저는 많은 SQL을 한 번에 처리하기 위한 DBMS에서 제공하는 실행 기능입니다. #. 장점보단 단점이 부각되어 보이긴 하나 프로시저를 쓰는 곳은 계속해서 쓰는 것 같습니다.#. 프로시저의 장단점장점 1. 요청 한 번에 여러 SQL을 실행이 가능하고 속도가 빠릅니다. - 한 프로시저 내 여러 개의 SQL을 작성하고 서비스가 DB에 접근을 한 번만 하면 되므로 네트워크 측면의 속도가 빠릅니다.2. DBMS에서 프로시저에 대한 관리가 편합니다. - 프로시저에 대한 내용들을 캡슐화하여 저장하고 이를 DBMS가 저장한 프로시저별로 보여주기에 보기 편합니다.단점 1. 유지보수가 어렵습니다. ..

#. 보통 관리자 계정으로 처리하는 경우도 있으나 관리자 계정으로 직접 쿼리 실행 및 여러 개발자가 동시 접속 등을 하게 되면 보안 및 데이터 관리에 취약할 수 있습니다.(보안 관련 감사 시 필수 확인 대상) #. 따라서 각 사용자마다 각자의 로그인 계정을 관리하고 있어야 합니다. #. 이 경우 아래와 같이 로그인 계정을 생성해 줄 수 있습니다.(필자는 필수적인 것만 적용하여 생성 예정)Step 1. 관리자 계정으로 접속하여 새 로그인 열기Step 2. 일반 탭 설정 - 기본적인 설정로그인 이름 : 계정명SQL Server 인증 : 암호 설정 - SQL Server로 접속 시암호 만료 강제 적용 : 암호 만료에 대한 내용은 필요치 않아 해제다음 로그인할 때 반드시 암호 변경 :..
#. 실무에서 테이블 정의서나 ERD 등을 통해 테이블 간 연관관계 및 컬럼 정의에 대한 내용 등을 찾을 수 있으나 없는 경우도 허다할 것입니다. #. 컬럼명을 어느 테이블에서 사용하는지 찾기 위해선 아래와 같이 검색하면 쉽게 찾을 수 있습니다. Example SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%컬럼명%' AND TABLE_NAME LIKE '%테이블명%' #. 내용의 값을 사용하는 프로시저 검색 방법ExampleSELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id)FROM sys.proceduresWHERE OBJECT_DEFINITI..