목록msSQL (6)
Data Modeling Evangelist Kaien Kim's Blog
select col.table_catalog, col.table_name, col.column_name, obj2.name as SP_Name, obj2.id as SP_ID from sysdepends dep, sysobjects obj, sysobjects obj2, information_schema.columns col where dep.depid = obj.id and dep.id = obj2.id and obj.name = col.table_name and col.column_name = 'ssn' and obj2.xtype='P' group by col.table_catalog, col.table_name, col.column_name, obj2.name, obj2.id etc... sp_ta..
이번 강좌의 목표는 Production.ProductModelProductDescriptionCulture 와 같은 대땅 긴 테이블을 참조할 때 매번 입력하기가 귀찮으니 이를 별칭으로 아주 간단하게 불러보자는 것입니다. SYNONYM은 우리말로 별칭, 동의어 쯤으로 해석될 수 있습니다. 영어 선생님 발음을 들어보니 첫 음절에 강쇠를 줘서 "씨~누님" 라고 하더라구요. 아무튼 SQL Server 2005에서는 SYNONYM을 통해 앞의 경우처럼 아주 긴 테이블 이름에 다른 별칭을 줘서 참조할 수 있게 해준답니다. 다음은 별칭을 붙일 수 있는 객체들의 목록입니다. Table View Assembly (CLR) Stored Procedure Assembly (CLR) Table-valued Function A..
Syntax sp_changeobjectowner [ @objname = ] 'object' , [ @newowner = ] 'owner' Arguments [ @objname = ] 'object' Is the name of an existing table, view, user-defined function, or stored procedure in the current database. object is an nvarchar(776), with no default. object can be qualified with the owner of the existing object, in the form existing_owner.object if the schema and its owner have the..
어디서 퍼왔는데...출처가 생각이 안나네요^^;; 참고하세요~ ... -- 테이블명으로 테이블들 검색 sp_tables '%테이블명%' -- 컬럼명 검색 sp_columns @table_name='%', @column_name='%컬럼명%' -- 실행계획결과를 표로 보기 set statistics profile on -- 테이블의 여러정보(인덱스 등등) 보기 테이블 선택한 상태에서 alt + f1 누름 (이병화가 알려줌 -_-) -- 뷰 또는 프로시저 스키마 보기 sp_helptext 뷰또는 프로시저이름 -- 지정한 테이블의 데이터와 인덱스에 대한 조각화 정보를 표시 DBCC SHOWCONTIG(테이블명) -- 특정 단어가 들어간 뷰/프로시저/펑션/트리거 찾기 -- V(뷰), P(프로시저), FN(펑션)..
정리가 잘되있어 퍼왔습니다. 역시 출처는 기억이...^^; ☞ ** Trigger (트리거)** 트리거는 성능향상을 위한 도구라기 보다는, 비즈니스 규칙을 효과적으로 데이터베이스 서버 계층에 구현하게 해 주는 기능. 수동으로 여러 가지 작업을 하나의 트랜잭션으로 묶어서 실행 해야하거나, 함께 이루어져야 할 일련의 작업들을 논리적으로 묶어야 할 필요가 있을 때는 트리거보다 더 좋은 대안은 없다. 사실 트리거를 쓰면 간단하게 해결될 것을, 응용 프로그래밍 차원에서 엄청난 코딩량으로 승부하거나, 아니면 서버에서 처리하더라도 복잡한 SQL 문을 사용해서 그것도 약간은 허술한 논리로 구현하는 경우가 너무 많다. 1) 트리거 사용 이유 트리거란 “자동으로 실행되도록 정의된 특수한 저장 프로시저”이다. 실제로 트리거..
SQL Server의 기본 격리 수준(isolation level)은 read committed 입니다. 그래서 데이터를 읽을 때는 공유 잠금이 유지됩니다. 그러므로, 쉽게 설명하자면 SELECT문이 실행 중인 동안에 같은 row혹은 table에 insert나 update하는 작업은 block됩니다. 거꾸로 같은 row, data page 혹은 테이블에 데이터를 insert, update하는 동안 SELECT문은 block되게 됩니다. 이렇게 되면 데이터베이스 성능이 현저히 떨어지게 됩니다. 그러므로 일반적으로 단순 조회 쿼리에는 with (nolock)문을 추가하여 사용합니다. - 사용법- SELECT * FROM dbo.Jobs with(nolock) WHERE...