본문 바로가기
반응형

DATABASE/MsSQL27

[MsSQL] Database 복구 모델 - Simple, Full (단순 모델, 전체 모델) Database Recovery Models MsSQL의 데이터베이스 복구 모델은 데이터베이스의 트랜잭션 로그의 유지관리를 제어하는 중요한 속성이다. 단순 모델(Simple), 전체 모델(Full) 이냐에 따라 아래와 같은 내용을 제어할 수 있다. 트랜잭션이 기록되는 방법 트랜잭션 로그의 백업이 필요하며, 허용되는지 여부 데이터베이스 복원 시 작업의 종류 (트랜잭션 로그 백업의 사용) Simple Recovery Model 단순 모델은 말 그대로 단순한 복구 모델이다. 단순 모델의 가장 핵심은 트랜잭션 로그를 저장하고 있지 않다는 점이다. 정확히는 검사점(Check Point)이 발생 할 때 마다 트랜잭션 로그를 비워주어 로그 공간을 자동으로 회수한다. 자동으로 회수되는 로그 공간으로 인해, 트랜잭션 로.. 2023. 10. 16.
[MsSQL] OUTPUT - Update 사용 시, 변경 전/후 행 반환하기 (deleted/inserted) OUTPUT Output 구문은 insert, update, delete, merge 문과 함께 사용되며, 각 DML문에 처리되는 행을 반환하는 문법이다. 각 행을 반환하여, Into 구문를 통해 TABLE 혹은 TEMP TABLE 에 해당 행을 삽입한다. Update 문 사용 시 Output update TABLE_A set a_column1 = 'value3' -- output 구문 output deleted.a_column1, inserted.a_column2, deleted.a_column3 + inserted.a_column3 -- into 구문 into TABLE_B (b_column1, b_column2, b_column3) where [조건] update문 사용시, update ~set과 .. 2023. 9. 7.
[MSSQL] 커서(CURSOR) - 행(ROW) 단위 처리의 사용 법 Intro 안녕하세요. 초보 DBA 다뉴입니다. 처음 Database로 업무를 하고 제일 많이 사용했던 것이 오늘 소개할 커서라는 것 인거 같은데요. 나중에 알고보니 커서를 사용하기에 느려지는 트랜잭션들이 많다는 것을 알게되고, 최대한 줄이려고 노력한 것도 이 커서입니다. 하지만 필요할 때 사용해야 하는 커서(cursor)에 대해서 알아두면 좋으니 한번 알아보도록 하죠. Cursor 커서(Cursor) 란? 커서는 데이터의 처리를 집합단위가 아닌 행 (ROW)단위로 처리하기 위해 사용합니다. 일종의 반복문이죠. 데이터를 행단위로 처리하기에 행단위 작업에 대한 장점이 있지만, 일괄 처리를 하지않고 각 행의 조회, 처리, 커밋 등의 단위작업이 포함되게 되므로 속도가 느려질 수 있습니다. BOF (Begin .. 2023. 9. 6.
[MsSQL] OUTPUT - Delete 사용 시, 삭제 된 행 반환하기 (deleted) OUTPUT Output 구문은 insert, update, delete, merge 문과 함께 사용되며, 각 DML문에 처리되는 행을 반환하는 문법이다. 각 행을 반환하여, Into 구문를 통해 TABLE 혹은 TEMP TABLE 에 해당 행을 삽입한다. Delete 문 사용 시 Output delete from TABLE_A -- output 구문 output deleted.a_column1, deleted.a_column2, deleted.a_column3 ... -- into 구문 into TABLE_B (b_column1, b_column2, b_column3 ...) where [조건] Delete 문 사용시 delete 와 조건문 사이에 output, into 구문을 사용한다. deleted.. 2023. 9. 5.
[MsSQL] OUTPUT - Insert 사용 시, 삽입 된 행 반환하기 (Inserted) OUTPUT Output 구문은 insert, update, delete, merge 문과 함께 사용되며, 각 DML문에 처리되는 행을 반환하는 문법이다. 각 행을 반환하여, Into 구문를 통해 TABLE 혹은 TEMP TABLE 에 해당 행을 삽입한다. Insert 문 사용 시 Output insert into TABLE_A (a_column1, a_column2, a_column3 ...) -- output 구문 output inserted.a_column1, inserted.a_column2, inserted.a_column3 ... -- into 구문 into TABLE_B (b_column1, b_column2, b_column3 ...) values (value1, value2, value3.. 2023. 9. 4.
[MsSQL] 자주 쓰는 쿼리 - Data File Size, Data File 경로 확인 (MDF, NDF) Intro 안녕하세요. 초보 DBA 다뉴입니다. 데이터베이스를 사용하다 보면 역시나 마주하게 될 문제, 바로 용량 이슈인데요. MsSQL의 MDF, NDF라는 데이터베이스 파일에 데이터를 저장합니다. MsSQL의 파일 구조에 대해서는 아래의 글을 참고해주세요! [MsSQL] Database File(Data File, Log File) / File Group Intro 안녕하세요. 초보 DBA 다뉴입니다. 오늘은 MsSQL의 데이터베이스 파일과 파일 그룹에 대해 알아보도록 하겠습니다. Database File File의 종류 데이터베이스 파일의 종류로는 크게 데이터 파일(Data da-new.tistory.com 각 데이터베이스의 MDF, NDF가 얼마 만큼의 용량을 사용하는지, 또 어느 경로에 파일이 .. 2023. 9. 2.
[MsSQL] Exception / Throw 사용 시 주의 사항 - rollback Intro 안녕하세요. 초보 DBA입니다. 얼마전 쿼리 검수를 하다가 발견한 잘못 작성된 SQL 문인데요. 논리적으로 생각해보니 이상해 보여서 테스트를 한번 진행하고 해당 내용을 남겨볼까합니다. Throw와 rollback과의 관계에 대해 한번 자세히 알아보도록하죠 Exception Throw Throw에 대해서는 지난 포스팅에 잘 정리해놨는데요. 아래의 링크를 참고해주세요. [MsSQL] Exception / Try~Catch 문 활용 -Transaction, Throw Intro 안녕하세요 초보 DBA 다뉴입니다. 저번포스팅 Exception / Try ~ Catch문 기초에 이어서 활용하는 방법에 대해서 한번 알아보려고 하는데요. 기초에 대해 정리한 글이 궁금하신분은 아래의 글을 참 da-new.t.. 2023. 8. 5.
[MsSQL][SSIS] SSIS 설치 방법 - Visual Studio 2012 Shell Intro 안녕하세요 초보 DBA 다뉴입니다. MsSQL을 사용하며 여러가지 부가기능이 있는데요. 그 중 SQL Server Integration Services, 통칭 SSIS을 사용하기 위한 설치에 대해서 한번 알아보도록 하겠습니다. SQL Server Integration Services - SQL Server Integration Services (SSIS) 엔터프라이즈 수준 데이터 통합 및 데이터 변환 솔루션을 빌드하기 위한 Microsoft 플랫폼인 SQL Server Integration Services에 대해 알아보세요. learn.microsoft.com 사실 업무중에 새롭게 Windows Server를 세팅할 일이 있어서, 급하게 설치 후 간략하게 나마 정리한 내용이라 자세하지는 않습니.. 2023. 8. 2.
[MsSQL] Table / Column Comment - 코멘트, 설명 달기 Intro 안녕하세요. 초보 DBA 다뉴입니다!! Database 내에 있는 Table과 각 Table마다 Column에 대해서 아무리 표준화를 진행하고 깔끔하게 만든다 하더라도 이 모든것을 기억하거나 알기는 쉽지않습니다. 제가 지금 현업에서 관리하고 있는 Table은 수천개가 되는데요. 여러가지 데이터와 로그, 통계 등을 가지고 있다보니, 그 수와 양이 어마어마 합니다. 또한 이러한 Table과 Column에 대해 오랜 기간동안 순차적으로 만들어지다보니, 표준화가 되어 있지않거나, 관리가 안되는 Table들이 있어 많은 문제가 있습니다. 이러한 Table 및 Column에 Comment를 입력해두어 최대한 사용하는데 있어서, 알아보기 쉽게 해야하는데요. Database의 Table과 Column은 다른.. 2023. 8. 1.
[MsSQL] Exception / Try~Catch 문 활용 -Transaction, Throw Intro 안녕하세요 초보 DBA 다뉴입니다. 저번포스팅 Exception / Try ~ Catch문 기초에 이어서 활용하는 방법에 대해서 한번 알아보려고 하는데요. 기초에 대해 정리한 글이 궁금하신분은 아래의 글을 참조바랍니다! https://da-new.tistory.com/57 Transaction 제어 Begin Tran을 사용한 Commit / Rollback begin try begin tran /*실행할 Transaction*/ -- 오류가 없다면 commit commit tran end try begin catch -- 오류 발생시 rollback rollback tran end catch Try 블록에 오류가 없을 경우 commit tran 까지 동작 후 catch를 건너뛴다. Try 블.. 2023. 7. 30.
반응형