본문 바로가기

㏈ª By β┖υΕJini/MS-SQL88

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 보통 SELECT 를 할때도 잠금이 일어 나게 된다. 이를 막기 위해 힌트 옵션을 이용하여 잠금해제를 하게 된다. 하지만 옵션을 통해서 잠금을 완전 해제 할수도 있다. with (nolock) == SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED 2007. 10. 30.
MS-SQL2005 TRY... CATCH를 사용한 Transaction 처리 2007년 초 처음으로  MS-SQL2005 를 이용한 프로젝트를 하게 되었다. 예전 프로시져 내에서 @@error 를 이용하여 Transaction  처리를 하였는데 2005 부터 TRY... CATCH를 이용하요 보다 쉽게 사용할수 있게 되었다. (TRY... CATCH 자바, 닷넷에서 많으 보던건데... )MS-SQL 2005부터는 TRY/CATCH블럭을 이용한 오류처리가 가능하다.사용법은 C#의 그것과 매우 유사하며, @@ERROR의 값으로 처리 하는 방법보다 훨씬 좋은 가독성과 성능을 낼수 있다고 한다.BEGIN TRY    실행할 쿼리문...END TRYBEGIN CATCH    오류시 처리할 구문    END CATCH 사용법은 사용할 쿼리문을 단순히 Begin Try / End Try로 묶.. 2007. 10. 30.
SQL Server 복구 하기 SQL2000 sp_configure 'allow', 1 reconfigure with override begin tran update sysdatabases set status=32768 where name = 'DB' commit tran dbcc rebuild_log('DB', '경로') begin tran update sysdatabases set status = 0 where name = 'DB' commit tran -- mdf 파일로 로그파일을 재구성 sp_dboption DB, single, true alter database drbitpack dbcc checkdb ('DB', REPAIR_FAST) alter database DB set multi_user SQL2005 EXEC sp_.. 2007. 10. 27.
SQL Server의 DB 복구시 로그인 계정 연결 문제 데이터베이스의 사용자(user)와 로그인 계정(login)이 일치하지 않아서 발생하는 문제라는 건 예전부터 알고 있었는데, 이를 해결하는 sp를 찾아 냈다. 해서 원격 DB를 마이그레이션 할 일이 생기면 그때마다 사용자를 제거했다가 다시 로그인 계정을 생성하는 방식으로 매칭을 시켰는데 sp_change_users_login 구문 sp_change_users_login [ @Action = ] 'action' [ , [ @UserNamePattern = ] 'user' ] [ , [ @LoginName = ] 'login' ] [ , [ @Password = ] 'password' ] 다음 명령으로 로그인 계정에 연결되지 않은 사용자를 조회할 수 있다 : EXEC sp_change_users_login '.. 2007. 10. 27.