본문 바로가기

분류 전체보기

(68)
[GCP] MySQL Timezone (타임존) 변경 MySQL DB 의 Timezone (타임존) 을 한국 시간에 맞게 변경해주려고 한다.데이터베이스 플래그를 설정해주면 되는데, GCP Console 에서 아주 간단하게 설정해 줄 수 있다.  1. GCP Console 접속 > 데이터베이스 > SQL > 개요 선택   2. 구성 > 구성 수정 선택   3. 플래그 > 항목 추가 선택   4. 다음 중에서 선택 > default_time_zone 선택   5. +09:00 입력 * 한국시간은 +09:00, 원하는 다른 국가의 시간이 있다면 그에 맞게 입력하면 된다.   시간을 입력 후 저장하면 된다.저장을 하면 인스턴스 재시작 알림이 뜰 것이다. (인스턴스 재시작해야 적용이 됨.)그대로 인스턴스 재시작해주면 적용 끝!  적용된 걸 GCP Console 에서..
[Linux] vi 특정 단어 라인 삭제 파일 내에 특정 단어가 들어간 라인을 지워야하는데 해당 내용이 너무 많을 경우, 그것을 일일이 지우기란 참 번거롭다.이럴때 vi 편집기에서 명령어를 통해 한 번에 특정 단어가 들어간 라인을 모두 지워줄 수 있다. 아래의 명령어를 통해 지워줄 수 있다.:g/특정단어/d 또는 :% g/특정단어/d:g/\/d 또는 :% g/\/d 단, 두 명령어에 차이가 존재한다. 먼저, 특정 단어가 포함한 모든 라인을 지우고 싶을 경우, 아래 명령어를 사용한다.:g/특정단어/d 또는 :% g/특정단어/d 그리고 특정 단어만 들어있는 라인을 지우고 싶을 경우에는 아래 명령어를 사용하면 된다.:g/\/d 또는 :%/\/d 여기서, % 는 전체 라인을 뜻한다.  예를 들어보자. 아래와 같은 내용이 존재하는 test.sql 파일이..
[Windows] .bat 파일을 이용하여 파일 자동으로 삭제하기 (feat. forfiles) 일을 하다보면 디스크에 로그가 계속해서 쌓인다.로그가 계속 쌓여서 디스크가 풀로 찰 수도 있기 때문에 주기적으로 삭제를 해줘야한다. 이를 직접 수동으로 할 수도 있지만...이에 따른 노동력이 필요하기에 파일을 자동으로 삭제할 수 있도록 하려고 한다.  .bat 파일과 작업 스케줄러를 이용하여 파일을 자동으로 삭제하려고 한다.  1. .bat 파일 생성 (forfiles 명령어 이용) 먼저, bat 파일을 만들어야 하는데 forfiles 명령어를 이용하여 만들어 볼 것 이다. forfiles 명령어가 무엇이냐?forfiles 는 Windows 에서 사용하는 명령어이며, 파일에 대해 명령을 선택하고 실행하는 작업을 한다. forfiles [/P pathname] [/M searchmask] [/S] [/C ..
[Windows] 파일 내용 하나로 합치기 (TYPE 명령어) 수십개의 파일 내용을 하나로 합칠 일이 생겼다..심지어 각 파일마다 만 건 이상의 데이터를 가지고 있어 하나 하나 복붙하기도 골치 아프다. 이럴때 윈도우 명령 프롬프트 (cmd) 에서 type 명령어를 통해 아주 간~~~~ 편하게 파일 내용을 하나로 합칠 수 있다.  간단한 예시로 보여주겠다.  나는 아래 세 가지 파일(1.txt, 2.txt, 3.txt) 을 하나의 파일(4.txt) 로 합쳐주려고 한다.각 파일의 내용은 아래와 같다. 1. 실행창에서 도스창(cmd) 을 열어보자. - 실행(윈도우키 + R) > cmd 입력 2. cmd 에서 병합하려는 파일들이 있는 경로로 이동한다. - 위 빨간 영역을 한 번 클릭하면 아래와 같이 경로가 나온다.  3. 'cd' 명령어를 통해 해당 경로로 이동시켜준다. ..
[SQL Server / MS-SQL] PK 없는 테이블 중복 데이터 제거 이슈 발생PRIMARY KEY 가 없는 테이블에 INSERT 를 한 번 해야하는데 잘못해서 동일한 값이 여러번 삽입되었다.고유한 값이 있다면 이를 삭제해주는데 문제가 없다만, 없다면 골치가 아프다.... (중복 데이터가 많을수록 더 더욱..) 1SELECT * FROM NAMEcs ENG_NAMEKOR_NAMEANNA김유정JESSI이복순JESSI이복순JOHN홍길동JOHN홍길동JOHN홍길동   해결 방법하지만 해결방법은 아주 간단하다!ROW_NUMBER() OVER 함수를 이용하여 데이터에 순서값을 주어 중복된 값 중 하나만 두고 제거해주면 된다. 1SELECT ROW_NUMBER() OVER (PARTITION BY ENG_NAME ORDER BY ENG_NAME) AS NUM, * FROM NAMEcs..
[SQL Server / MS-SQL] Microsoft SQL Server 로그인 오류 18456 1. 오류발생SSMS 에서 서버에 로그인을 할 때 Windows 인증과 SQL Server 인증이 있다.해당 오류는 SQL Server 인증으로 로그인 시도 시 발생한 오류이다.  2. 오류원인해당 오류의 원인은 Windows 인증만 사용하도록 설정되어 있기 때문이다.이를 해결하기 위해서 혼합 모드 (Windows 인증 + SQL Server 인증) 인증으로 변경해주면 된다. 바로 해결해보도록 하자.  3. 해결방법(1) Windows 인증으로 로그인 후 해당 서버를 우클릭 후 속성에 들어간다.  (2) 서버 속성 화면이 뜰텐데 보안 탭에 들어간 후, 서버 인증을 SQL Server 및 Windows 인증 모드로 변경 후 적용한다.  (3) 변경 후 서버를 재시작한다.   (4) 재시작을 해보자. 먼저 ..
[SQL Server / MS-SQL] WITH(NOLOCK) 사용법, 주의할 점, 공유잠금 MSSQL 은 기본적으로 SELECT 시 공유잠금(S Lock) 이 걸린다.이는 MSSQL 의 기본 격리수준(Isolation Level) 이 Read Committed 이기 때문이다.즉, DML(INSERT, UPDATE, DELETE) 작업중인 ROW 또는 TABLE 에 SELECT 할 경우,해당 작업이 끝나야 SELECT 할 수 있다는 의미이다.   만일 이렇게 수행된다면 DB의 성능은 떨어지고, 데드락(Deadlock) 이 발생될 수 있다. 이를 방지하기 위해 WITH(NOLOCK) 을 사용할 수 있다.WITH(NOLOCK) 의 격리수준(Isolation Level)은 Read Uncommitted 와 같다고 보면 된다. 즉, SELECT 할 ROW 또는 TABLE 이 잠겨있어도(작업중이여도) 기..
[SQL Server / MS-SQL] Msg 5074, The object 'Constraint Name' is dependent on column 'Column Name'. Msg 4922, ALTER TABLE ALTER COLUMN 'Column Name' failed because one or more objects access this column. 1. 오류 발생1234Msg 5074, Level 16, State 1, Line 5 The object 'DF_TBL_GOODS_CNT' is dependent on column 'CNT'. Msg 4922, Level 16, State 9, Line 5 ALTER TABLE ALTER COLUMN CNT failed because one or more objects access this column.cs 1234메시지 5074, 수준 16, 상태 1, 줄 5 'DF_TBL_GOODS_CNT'개체는 'CNT'열에 종속됩니다. 메시지 4922, 수준 16, 상태 9, 줄 5 ALTER TABLE ALTER COLUMN CNT가 하나 이상의 개체가 이 열에 액세스하므로 실패했습니다.cs  2. 오류 원인이..
[SQL Server / MS-SQL] 서버 메모리 제한 및 권장 메모리 설정 (min / max server memory) MSSQL 서버는 OS 에서 메모리를 요청하지 않으면 한 번 호출한 메모리를 반환하지 않고 계속 점유한다.이에 MSSQL 을 사용하다보면 MSSQL 서버가 90% 이상 메모리를 차지하는 경우를 볼 수 있다. 이로 인해 다른 프로세스들이 메모리를 충분히 사용하지 못하여  시스템 성능이 떨어질 수 있으며, 서버에 과부하가 발생하여 문제가 생기기도 한다.이를 방지하기 위해 MSSQL 에서 최대 서버 메모리 (max server memory) 를 설정하여 메모리를 제한시켜줄 수 있다.만약, MSSQL 의 메모리 제한을 따로 하지 않았다면 최대 서버 메모리 (max server memory) 는 2,147,483,647(MB) 로 되어있다.이는 OS 에서 메모리를 요청하지 않으면 메모리를 다 점유하겠다란 말과 비..
[SQL Server / MS-SQL] MI 읽기 전용 보조 복제본으로 접속하기 (Connecting to a read-only secondary replica) Azure Managed Instance 에서 읽기 전용 보조 복제본으로 접속해보려고 한다.  1. Object Explorer > Database Engine...  2. Connect to Server > Sever name, Login/Password 입력 > Options  3. Additional Connection Parameters > ApplicationIntent=ReadOnly 입력 > Connect*단,  General Purpose(GP) 서비스 계층은 지원하지 않으며, Business Critical(BC) 서비스 계층에서만 지원된다.  4. 아래 쿼리를 통해 READ_ONLY 확인1SELECT DATABASEPROPERTYEX(DB_NAME(), 'Updateability')cs..

반응형