본문 바로가기

전체 글

(101)
[SequelSafe] 특정 DB의 형상 관리 내역을 SQLSafe DB에서 삭제하는 스크립트 1234567891011121314151617181920212223242526USE SQLSafe;GO DECLARE @nvcDatabaseName nvarchar(128); SET @nvcDatabaseName = N''; -- DB 이름을기입합니다. DELETE dbo.DDLLogsFROM dbo.DDLLogs DL INNER JOIN dbo.Objects O ON DL.objectSN = O.objectSNWHERE O.databaseName = @nvcDatabaseName; DELETE dbo.PartialDeploymentsFROM dbo.PartialDeployments PD INNER JOIN dbo.DeploymentScripts DS ON PD.deploymentScriptSN = DS..
여러개의 스페이스를 한개로 REPLACE 하기 REPLACE Multiple Spaces with One By Jeff Moden, 2009/11/16 http://www.sqlservercentral.com/articles/T-SQL/68378/
RDB가 왜 관계형 데이터베이스? DB관련 블로그나 아티클을 찾다보면 아직도 종종 RDB에 대한 잘못된 해석(?)이 눈에 띄곤 합니다. Relational Database 우리말로 관계형 데이터베이스 이거 대표적인 오역.. 또는 무리한 번역입니다. 많은 사람들이 "관계형 데이터베이스"라는 이름으로부터 Primary - Foreign 참조 관계를 연상하기 때문이죠. Relation과 Relationship은 서로 다른 개념인데, 모두 "관계"라는 단어로 번역했으니 이런 문제가 생깁니다. 우리에게 익숙한 참조 관계는 Relationship이 맞지만, RDB의 Relational.. 명사형으로 Relation은 그냥 릴레이션이라고 부르는게 차라리 맞겠죠. (거의 아시겠지만.. 릴레이션은 튜플의 집합입니다.) 지금이라도 릴레이션형 데이터베이스라..
How to read SQL Server graphical query execution plans How to read SQL Server graphical query execution plans Written By: Tim Ford -- 11/4/2009 http://www.mssqltips.com/tip.asp?tip=1873
[Sequel Safe / update] 개발 DB에서 SQL Agent에 의한 DDL문 실행 오류 수정 http://purumae.tistory.com/64 글에 피드 백 주신 "싸울아비"님께 감사드립니다. 현상 : 개발 DB에서 SQL Agent에 의해 DDL 문이 실행되는 경우, [DBAs] 테이블에 등록되지 않은 Login이므로 DDL문이 롤 백 해결 : SQL Agent에 의한 DDL 작업은 형상 관리 대상으로 보기 어려우므로, APP_NAME()을 확인하여 트리거 실행을 중단하도록 수정하였습니다. 이후 SQL Agent로 실행되는 작업에 포함된 DDL문은 차단되거나, 수집되지 않습니다. 아래 첨부한 DevDB_Trigger_20091023.sql을 각 개발 DB에서 실행하시기 바랍니다.
MERGE 응용 - 2. CTE를 사용한 성능 최적화 MERGE 문의 기본 형태 MERGE [타겟 테이블] AS T USING [소스 테이블] AS S ON T.[컬럼] = S.[컬럼] WHEN MATCHED THEN UPDATE SET ~~~ WHEN NOT MATCHED BY TARGET THEN INSERT ~~~ WHEN NOT MATCHED BY SOURCE THEN DELETE; WHEN NOT MATCHED BY SOURCE THEN DELETE; 지난 번에 다룬 UPSERT에 한 가지 동작이 추가되었습니다. 이 동작을 수행하되 타겟 테이블의 일부만 가져와서 MERGE하는 경우를 생각해 봅시다. IF OBJECT_ID(N'dbo.MergeTest', N'U') IS NOT NULL DROP TABLE dbo.MergeTest; GO CREATE..
MERGE 응용 - 1. UPSERT UPSERT ??? 조건을 만족하는 행이 있으면 UPDATE하고, 그렇지 않으면 INSERT하는 구문입니다. 하지만, SQL Server에서는 UPSERT문을 지원하지 않습니다. SQL Server 2008 - MERGE 문 SQL Server 2008에 추가된 MERGE 문을 사용하면 하나의 문에서 여러 INSERT, UPDATE 및 DELETE 작업을 수행할 수 있습니다. 단, MERGE문을 잘 못 작성하면 악성 쿼리로 전락하거나, 예기치 않은 동작으로 데이터의 손실을 유발할 수 있으니 익숙하게 사용할 수 있도록 테스트 구문을 많이 작성해 보시기 바랍니다. MERGE 문으로 UPSERT를 구현 지금까지 SQL Server에서 UPSERT를 수행하려면, UPDATE 후 @@ROWCOUNT를 확인해 다시..
Windows 7에서 ER/Studio 8.0.3 build 6051 한글 깨짐 오늘 Vista에서 Windows 7으로 OS를 업그레이드 했습니다. 1시간 30분에 걸친 업그레이드 끝에 부팅... 사용하던 프로그램을 하나씩 띄어보고 이상 없구나 생각하던 찰라... ER/Studio에서 한글 입력이 안되는 문제를 발견했습니다. ㅠㅠ Embarcadero 홈피에 업데이트 버전이 있나 확인해 봤지만 여전히 최신 버전은 8.0.3으로 제 PC에 설치한 버전과 동일했습니다. OTL 꽁수로... Windows XP Mode의 Auto Publish를 통해 사용하기로 결심하고 부랴 부랴 설치했습니다. 그런데... 잘 생각해보니... 빌드 넘버는 조금 올라가 있더군요. (설치 : 6051 / 최신 : 6063) 혹시나해서 6063빌드를 다운 받아 업데이트 해봤습니다. 결과는... 잘 됩니다. 언..