본문 바로가기
728x90
반응형

MSSQL15

MSSQL] try catch BEGIN TRY INSERT INTO TABLE1 SELECT 1 UPDATE TABLE2 SET COLUMN1 = 2 END TRY BEGIN CATCH DECLARE @IntErrNum INT = ERROR_NUMBER() DECLARE @StrErrMsg VARCHAR(MAX)= ERROR_MESSAGE() DECLARE @StrProcName VARCHAR(100) = OBJECT_NAME(@@PROCID) DECLARE @IntErrLine INT = ERROR_LINE() EXEC USP_COM_ERRORMSG_INSERT @ErrorNumber= @IntErrNum , @ErrorProcedure= @StrProcName , @ErrorLine= @IntErrLine , @ErrorMess.. 2023. 11. 10.
MSSQL] DB 테이블 명세서 html 생성 쿼리 --//SQL Database documentation script --//Description: T-SQL script to generate the database document for SQL server 2000/2005 Declare @i Int, @maxi Int Declare @j Int, @maxj Int Declare @sr int Declare @Output varchar(4000) --Declare @tmpOutput varchar(max) Declare @SqlVersion varchar(5) Declare @last varchar(155), @current varchar(255), @typ varchar(255), @description varchar(4000) create Tabl.. 2023. 10. 24.
MSSQL Server] 2. Lock, 트랜잭션 격리 수준 지난 post에서 SQL Server에서 사용하는 주요 lock types에 대해 살펴보았다. 이번 post에서는 트랜잭션 격리 수준과 locking 동작에 어떤 영향을 주는지 살펴보자. 트랜잭션이란? transaction이란 작업단위(unit of work)이다. 계좌이체를 할때, system은 하나의 계좌에서 인출해서 다른 계좌에 입금하는 하나의 단위작업을 수행한다. 인출과 입금이 2개의 독립적인 작업이라도, 중간에 멈추면 안되기 때문에 하나의 작업처럼 실행된다. transaction에 대해서 잘 알려주는 ACID라는 유용한 용어가 있다. (A) - Atomicity 또는 'all or nothing'. 모든 변경이 저장되든지 아무것도 변경되지 않든지 둘 중 하나이다. (C) - Consistency.. 2023. 8. 7.
MSSQL Server] 1. Lock Types 개발자에게 도전적인 과제 중 하나는, multi-user 환경에서 시스템을 어떻게 매끄럽게 동작하게 하는가 이다. 개발환경에서는 완벽하게 동작하던 코드도, 수많은 사람들이 접속하는 환경에서는 문제가 생긴다. 그 이유로는 timeouts, deadlocks 등이 있다. SQL Server가 낮은 단계의 read uncommitted level로 사용하더라도 locking, blocking, deadlock은 여전히 발생한다. lock types에 대해 알아보자. lock이란 무엇인가? 간단히 말해서, in-memory structure이다. 이 structure는 onwer, type, 보호하는 row, page, table, file, database등을 연결하는 resource hash를 갖는다. SQ.. 2023. 8. 7.
MSSQL] Schema Locks DB 엔진 isolation 수준 Read uncommitted : 물리적으로 손상된 데이터만 읽지 않음 Read committed : 이전에 읽은 수정되지 않은 데이터를 읽을 수 있음, SQL Server 기본수준 Schema Lock Sch-S(스키마 안정성 잠금) : SQL Server DB 엔진은 쿼리를 컴파일하고 실행할 때 스키마 안정성(Sch-S) 잠금을 사용합니다. 배타적 잠금등의 트랜잭션 잠금을 차단하지 않습니다. transaction isolation 수준에 상관없이 발생한다. Sch-M을 제외한 모든 Lock과 호환된다. 테이블을 생성하고, 데이터를 추가하였다. create table dbo.LockData ( Id int not null, Placeholder char(200) not.. 2023. 8. 2.
MS SQL Server Express 2022 설치 1. 설치파일 다운로드 https://www.microsoft.com/ko-kr/sql-server/sql-server-downloads Express 하단 지금 다운로드 클릭 2. 미디어 다운로드 오프라인 환경에서 설치할 꺼기 때문에, 설치파일 실행 후 미디어 다운로드 클릭 다운로드된 설치파일 오프라인 PC로 옮김 3. 설치파일 실행하여 설치 시작 명명된 인스턴스에 원하는 인스턴스 이름을 지정한다. 혼합모드를 선택하고, sa 계정에 대한 암호를 입력한다. 설치가 완료되었다. 4. 설치확인 SQL Server 2022 구성 관리자에서 SQL Server 서비스를 선택하면 SQL Server의 상태가 '실행 중'임을 확인할 수 있다. 5. SSMS(SQL Server Management Studio)로 데.. 2023. 7. 26.
728x90
반응형