전체 글
고양이를 좋아하고 뭐든지 공유하는 것을 좋아하는 사람입니다.
-
프로젝트 진행시 DB상의 쿼리를 자동으로 처리해주어야 하는 경우(배치 작업)가 발생합니다. 이때 MSSQL SERVER에는 작업 스케줄러를 등록하고 실행하는 에이전트가 존재합니다. 먼저 개체탐색기 > SQL Server 에이전트 > 작업 에서 오른쪽 마우스를 클릭하신 후 새 작업을 눌러줍니다. 해당 스케줄러 작업명을 기입합니다. 단계> 새로만들기를 클릭합니다. 해당 작업 단계 이름 / 데이터베이스/ 명령을 실행할 쿼리문을 입력한뒤 확인을 누릅니다. 아래 그림과 같이 작업 단계 목록이 생성이 되었다면 정상적으로 처리가 된 것 입니다. 만약 아래와 같은 창이 발생시 단계가 하나만 존재할 경우는 예/ 추가 단계를 입력할 경우 아니오 일정 > 새로만들기를 클릭합니다. 이제 작업 일정을 설정하시면 됩니다. 빈도 ..
[MSSQL] 스케줄러(scheduler)를 통해 쿼리문 자동 반복하기프로젝트 진행시 DB상의 쿼리를 자동으로 처리해주어야 하는 경우(배치 작업)가 발생합니다. 이때 MSSQL SERVER에는 작업 스케줄러를 등록하고 실행하는 에이전트가 존재합니다. 먼저 개체탐색기 > SQL Server 에이전트 > 작업 에서 오른쪽 마우스를 클릭하신 후 새 작업을 눌러줍니다. 해당 스케줄러 작업명을 기입합니다. 단계> 새로만들기를 클릭합니다. 해당 작업 단계 이름 / 데이터베이스/ 명령을 실행할 쿼리문을 입력한뒤 확인을 누릅니다. 아래 그림과 같이 작업 단계 목록이 생성이 되었다면 정상적으로 처리가 된 것 입니다. 만약 아래와 같은 창이 발생시 단계가 하나만 존재할 경우는 예/ 추가 단계를 입력할 경우 아니오 일정 > 새로만들기를 클릭합니다. 이제 작업 일정을 설정하시면 됩니다. 빈도 ..
2020.04.07 -
쿼리를 실행하다 보면 간단한 쿼리인데도 실행되지 않는 경우가 종종 발생하곤 합니다. 이럴때 가장먼저 확인해야 하는것이 해당 쿼리에 대해 Lock의 발생 여부입니다. Lock이 걸린 spid를 확인 EXEC SP_LOCK Mode가 X로 되어있는 spid를 확인합니다. Lock이 걸린 쿼리내용 확인 DBCC inputbeffer(spid) 위에서 식별된 spid를 넣고 Lock이 걸린 쿼리 내용을 확인합니다. Lock이 발생한 host 찾기 EXEC SP_WHO spid spid를 넣고 어떤 host에서 Lock이 발생한지 확인합니다. Lock 제거 EXEC KILL spid Lock이 발생한 경우 일부 테이블에 대한 액세스가 불가하기 때문에 꼭 제거하도록 합시다. 트랜잭션이 필요없는 대량의 데이터를 조회..
[MSSQL] Lock 걸린 쿼리 확인하고 해제 및 방지하기쿼리를 실행하다 보면 간단한 쿼리인데도 실행되지 않는 경우가 종종 발생하곤 합니다. 이럴때 가장먼저 확인해야 하는것이 해당 쿼리에 대해 Lock의 발생 여부입니다. Lock이 걸린 spid를 확인 EXEC SP_LOCK Mode가 X로 되어있는 spid를 확인합니다. Lock이 걸린 쿼리내용 확인 DBCC inputbeffer(spid) 위에서 식별된 spid를 넣고 Lock이 걸린 쿼리 내용을 확인합니다. Lock이 발생한 host 찾기 EXEC SP_WHO spid spid를 넣고 어떤 host에서 Lock이 발생한지 확인합니다. Lock 제거 EXEC KILL spid Lock이 발생한 경우 일부 테이블에 대한 액세스가 불가하기 때문에 꼭 제거하도록 합시다. 트랜잭션이 필요없는 대량의 데이터를 조회..
2020.04.07 -
가장 먼저 mysql을 실행합니다. $ sudo mysql 데이터베이스 및 사용자 생성 데이터베이스 생성합니다. mysql > create database 데이터베이스명 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; 사용자를 생성합니다. mysql > create user 사용자이름 identified by '패스워드'; 생성한 데이터베이스에 사용자가 접근할 수 있도록 권한을 부여합니다. mysql > GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO '사용자이름'@'localhost' identified by '패스워드'; \q입력하여 mysql 종료 후 새로 생성한 user로 접속합니다. $ mysql -u 사용자이름 -p 테이블 생성 //사용할 ..
[Ubuntu] mysql 데이터베이스 및 테이블 생성 방법가장 먼저 mysql을 실행합니다. $ sudo mysql 데이터베이스 및 사용자 생성 데이터베이스 생성합니다. mysql > create database 데이터베이스명 DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci; 사용자를 생성합니다. mysql > create user 사용자이름 identified by '패스워드'; 생성한 데이터베이스에 사용자가 접근할 수 있도록 권한을 부여합니다. mysql > GRANT ALL PRIVILEGES ON 데이터베이스이름.* TO '사용자이름'@'localhost' identified by '패스워드'; \q입력하여 mysql 종료 후 새로 생성한 user로 접속합니다. $ mysql -u 사용자이름 -p 테이블 생성 //사용할 ..
2020.03.26 -
MSSQL에서 특정 테이블에서 사용되는 테이블 및 프로시저를 검색하거나 특정 테이블이 사용되는 프로시저를 검색하는 방법이 있습니다. 기존에는 sys.sysobjects 와 sys.syscomments를 조인하여 탐색을 했었는데 SQL SERVER에서 제공하는 시스템 테이블을 활용하면 보다 빠른 검색이 가능합니다. 바로 sys.dm_sql_referencing_entities 테이블 입니다. 간단하게 설명하자면 두 Entity 간의 (참조된 Entity, 참조한 Entity) 간에 SQL 문에 표시가 된 경우 해당 테이블에 데이터가 생성됩니다. 예를 들어 저장 프로시저가 지정된 참조 엔터티인 경우 이 함수는 테이블, 뷰, UDT(사용자 정의 형식), 또는 다른 저장 프로시저 등 이 저장 프로시저에서 참조되..
[MSSQL] 특정 테이블을 사용하는 프로시저 찾기MSSQL에서 특정 테이블에서 사용되는 테이블 및 프로시저를 검색하거나 특정 테이블이 사용되는 프로시저를 검색하는 방법이 있습니다. 기존에는 sys.sysobjects 와 sys.syscomments를 조인하여 탐색을 했었는데 SQL SERVER에서 제공하는 시스템 테이블을 활용하면 보다 빠른 검색이 가능합니다. 바로 sys.dm_sql_referencing_entities 테이블 입니다. 간단하게 설명하자면 두 Entity 간의 (참조된 Entity, 참조한 Entity) 간에 SQL 문에 표시가 된 경우 해당 테이블에 데이터가 생성됩니다. 예를 들어 저장 프로시저가 지정된 참조 엔터티인 경우 이 함수는 테이블, 뷰, UDT(사용자 정의 형식), 또는 다른 저장 프로시저 등 이 저장 프로시저에서 참조되..
2020.03.24 -
p해당 글은 Ubuntu 18.04 버전을 기준으로 작성되었습니다. 설치하기 전에 저장소의 패키지 목록을 업데이트 하고 기존에 설치되어 있는 패키지를 업그레이드 합니다. $ sudo apt update && sudo apt upgrade 1. Apache2 설치 Apache2 설치 $ sudo apt-get install apache2 설치된 Apache2 버전 확인 & apache2 -v Apache2 구동 $ sudo service apache2 restart // 재시작 $ sudo service apache2 start // 시작 $ sudo service apache2 stop // 멈춤 $ sudo service apache2 start 명령어를 실행한 후 웹 브라우저를 통해 localhost..
[Ubuntu] 쉽게 따라할 수 있는 Apache2, Mysql, PHP 설치 하기p해당 글은 Ubuntu 18.04 버전을 기준으로 작성되었습니다. 설치하기 전에 저장소의 패키지 목록을 업데이트 하고 기존에 설치되어 있는 패키지를 업그레이드 합니다. $ sudo apt update && sudo apt upgrade 1. Apache2 설치 Apache2 설치 $ sudo apt-get install apache2 설치된 Apache2 버전 확인 & apache2 -v Apache2 구동 $ sudo service apache2 restart // 재시작 $ sudo service apache2 start // 시작 $ sudo service apache2 stop // 멈춤 $ sudo service apache2 start 명령어를 실행한 후 웹 브라우저를 통해 localhost..
2020.03.22 -
SSMS 텍스트 입력기에서 SQL문을 작성할 때 코드가 너무 길어 어느 포인트에서 처리가 잘 못 되는지 확인 하기 좋은 기능이 존재합니다. 바로 책갈피라는 기능입니다! 책갈피를 사용하면 지정한 위치로 한번에 이동할 수 있으며 또 여러 위치를 지정해 놓고 한 눈에 확인 할 수 있어 각 지점마다 CheckPoint를 잡고 오류 지점을 확인할 수 있습니다. 더보기 메뉴에서 보기> 책갈피창 을 클릭하시면 아래의 SSMS 하단에 아래 그림 처럼 책갈피라는 창이 추가가 됩니다. 그리고 책갈피로 설정한 행에 대해서는 빨간 박스처럼 책갈피 모양이 표시가 됩니다. 해당 로우를 책갈피로 설정하는 방법은 편집 > 책갈피 > 책갈피 설정/해제를 클릭하는 방법도 있지만 이렇게 번거롭게 하면 생산성 향상이 아니겠죠?? SSMS ..
[SSMS 생산성향상 -2] SQL문에서 지정해 놓은 위치로 이동하기SSMS 텍스트 입력기에서 SQL문을 작성할 때 코드가 너무 길어 어느 포인트에서 처리가 잘 못 되는지 확인 하기 좋은 기능이 존재합니다. 바로 책갈피라는 기능입니다! 책갈피를 사용하면 지정한 위치로 한번에 이동할 수 있으며 또 여러 위치를 지정해 놓고 한 눈에 확인 할 수 있어 각 지점마다 CheckPoint를 잡고 오류 지점을 확인할 수 있습니다. 더보기 메뉴에서 보기> 책갈피창 을 클릭하시면 아래의 SSMS 하단에 아래 그림 처럼 책갈피라는 창이 추가가 됩니다. 그리고 책갈피로 설정한 행에 대해서는 빨간 박스처럼 책갈피 모양이 표시가 됩니다. 해당 로우를 책갈피로 설정하는 방법은 편집 > 책갈피 > 책갈피 설정/해제를 클릭하는 방법도 있지만 이렇게 번거롭게 하면 생산성 향상이 아니겠죠?? SSMS ..
2020.03.18