본문 바로가기
반응형

Database/MSSQL21

[MSSQL] 2008 에서 [MYSQL] 5 로 마이그레이션 하는 방법 출처 : http://flex2.egloos.com/2586345 처음에는 MYSQL ODBC를 등록해서 MSSQL에서 DTS로 하려고 했는데 ODBC가 보이지 않는 문제가 발생 SQLyog를 사용하여 MYSQL에서 가져오는 방법을 채택함! 1. 먼저 ODBC를 등록한다. 제어판 -> 시스템 및 보안 -> 관리 도구 -> 데이터 원본(ODBC) 추가 - > SQL Server 선.. 2012. 4. 17.
[MSSQL] Constraint 때문에 Alter / Drop 실행이 안될때. Default값을 변경하려고 보니 constraint때문에 변경이 안되고 에러 메세지만 뿌려준다. 그래서 어차피 이제 막 추가했던 컬럼이니 드랍이나 하자 했는데.. 이역시 쉽게 되질 않아 방법을 찾아보게 되었다. [출처 : http://www.cyworld.com/candyshop52/2855015] 출처의 필자에 의하면 constraint만 삭제했다가, alter나 drop후.. 2011. 8. 17.
프로시져 내용에서 검색 select so.name from dbo.sysobjects so,dbo.syscomments sc where so.id=sc.id and type = 'P' and sc.text like '%검색하고자하는 단어%'; 2011. 3. 22.
Mssql 2000 과 Mssql 2005 MS SQL 2005 서버가 점점 많아지면서 진단시 기존의 2000과 쿼리명에 약간의 변경이 있습니다. 1. 테이블의 모든 계산 열(Computed Column) 찾기 1) SQL SERVER 2000 select name from syscolumns where id =object_id('TableName') and iscomputed=1 2) SQL SERVER 2005 select name from sys.computed_columns where object_id =object_id('TableName') [참고] SQL Server 2005.. 2009. 2. 13.
insert, update 트리거 DROP TRIGGER 트리거명 GO CREATE TRIGGER 트리거명 ON TB_A FOR INSERT,UPDATE AS BEGIN SET NOCOUNT ON declare @cnt int ,@PK int -- 변수 선언 select @cnt = cnt,@PK = PK from inserted -- 값 추출 update TB_B set Cnt = @cnt WHERE M_idx = @PK END 1. @cnt 는 변경하고자 하는값이며 @PK는 비교하기 위한 값. 2. TB_A 테이블 값이 변경될 경우 TB_B 테이블의 PK Row .. 2009. 2. 13.
트랜잭션 로그 보기 DBCC log 가끔씩 유용한 명령어이다. MS-SQL의 문서화되지 않은 명령어로서... 이 명령어를 아는 사람들도 있으리라 생각한다. 이 명령은 특정 데이터베이스의 트랜젝션 로그(transaction log) 볼 때 사용된다. 사용법: 쿼리분석기에서 다음과 같이 입력하자. DBCC log ( {dbid|dbname}, [, type={-1|0|1|2|3|4}] ) 파라미터: dbi.. 2009. 2. 10.
SQL Server 2005의 분할된 테이블 및 인덱스 SQL Server 2005의 분할된 테이블 및 인덱스 Kimberly L. Tripp SQLskills.com 설립자 적용 대상 SQL Server 2005 요약: SQL Server 2005의 테이블 기반 분할 기능은 분할된 테이블을 간단하게 만들고 유지 관리할 수 있도록 하는 융통성 및 성능을 제공합니다. 논리적이고 수동적인 테이블 분할 작업에서 최신 분할 기능에 이.. 2008. 4. 1.
묵시적 트랜잭션과 명시적 트랜잭션 묵시적(implicit) 트랜잭션이란, 레코드 단위에 기반해서 트랜잭션이 시작/완료되는 것을 말함. Edit() 나 Insert() 등의 메소드를 호출하면 트랜잭션이 자동적으로 시작되며, Post()나 Cancel()을 호출하면 트랜잭션이 완료 또는 취소됨다. 이 방법은 레코드 수정시마다 트랜잭션이 일어나므로 네트웍에 과중한 .. 2008. 2. 29.
동적 쿼리에서의 실수 OS : Microsoft Windows 2000 Server / Advanced Server SQL : Microsoft SQL Server 2000 Standard / Enterprise Edition 동적 SQL 에 대해서 50프로만 아는 개발자가 실수 하는 부분을 알아 보겠습니다. select top 10 productid, quantity, unitprice from dbo.[order details] where orderid= 1234 그러면 페이징 쿼리가 들어가게 되면 10, 20, 30 등이 많이 쓰이겠죠 .. 2007. 11. 26.
SQL서버의 블랙박스 추적기능 SQL서버의 블랙박스 추적기능 SQL서버가 아무도 모르는 이유로 종료되었을 경우, 종료 직전에 누가 어떤 작업을 했는지, SQL서버가 왜 깨졌는지를 알기란 쉽지 않습니다. 하지만 SQL서버의 BlackBox 추적 기능을 이용한다면, SQL서버 종료 이전의 5MB의 작업 내용을 trace파일로 받을 수 있습니다. 자, 그럼 어떻.. 2007. 11. 26.
cursor , open , declare , 커서를 이용한 카운트 구하기 use pubs go declare curGetTableName INSENSITIVE CURSOR for select count(*) from information_schema.tables where table_type='base table' for read only go open curGetTableName --select @@CURSOR_ROWS go declare @@tmp varchar(30) fetch next from curGetTableName into @@tmp --select @@fetch_status print @@tmp go close curGetTableName deallocate curGetTableName go 2007. 11. 14.
random , 랜덤 데이터 만들기 CREATE TABLE random_data ( col1 int PRIMARY KEY IDENTITY(10,10) NOT NULL, col2 int NOT NULL DEFAULT CASE -- Random integer between -9999 and +9999 WHEN CONVERT(int, RAND() * 1000) % 2 = 1 THEN (CONVERT(int, RAND() * 100000) % 10000 * -1 ) ELSE CONVERT(int, RAND() * 100000) % 10000 END, col3 char(15) NOT NULL DEFAULT CHAR((CONVERT(int, RAND() * 1000) % 26 ) + 65) -- 65 is 'A' + CHAR((CONVERT(int.. 2007. 11. 14.
random , newid , 랜덤 정렬 mssql 랜덤정렬(random sorting) select top 20 * from 테이블명 order by newid() 설명 NEWID uniqueidentifier 형식의 고유 값을 만듭니다. 구문 NEWID ( ) 2007. 11. 14.
mysql_insert_id , @@identity , 와 같은 기능 온라인 설명서의 예제 입니다. INSERT INTO jobs (job_desc,min_lvl,max_lvl) VALUES ('Accountant',12,125) SELECT @@IDENTITY AS 'Identity' 2007. 11. 14.
sql , 성능 향상 , SQL 서버의 성능 향상을 위한 몇 가지 제안 SQL 서버의 성능 향상을 위한 몇 가지 제안 최지환 (데브피아) 2002/07/26 원본출처 : http://www.zdnet.co.kr/programming/lecture/db/article.jsp?id=50872&forum=0 데이터 베이스 디자인을 정규화하라. 논리적 데이터 베이스 디자인을 합리적으로 정규화하는 것이 최대의 성능 향상을 가져 온다는 것은 현업의 수많은 사례들이.. 2007. 11. 14.
트리거 사용 1. 트리거(Trigger)란 트리거란 특정 테이블의 데이터에 변경이 가해졌을 때 자동으로 수행되는 저장 프로시져라고 할 수 있습니다. 예전에 배웠던 저장 프로시져는 필요할 때마다 사용자가 직접 수행시켜야 했습니다.(물론 SQL Server가 시작될 때 자동으로 수행되게 하는 방법이 있기는 하지만) 하지만 트.. 2007. 11. 14.
Split 함수 구현하기 CREATE FUNCTION dbo.Split(@sText varchar(8000), @sDelim varchar(20) ='#') RETURNS @retArray TABLE ( idx smallint Primary Key, value varchar(8000) ) AS BEGIN DECLARE @idx smallint, @value varchar(8000), @bcontinue bit, @iStrike smallint, @iDelimlength tinyint SET @idx = 1 SET @sText = LTrim(RTrim(@sText)) SET @iDelimlength = LEN(@sDelim) SET @bcontinue = 1 WHILE @bcontinue = 1 BEGIN --텍스트.. 2007. 7. 24.
MSDE의 sa 암호를 변경 MSDE의 sa 암호를 변경 MSDE의 sa계정의 패스워드를 잊어버린경우에는 다음과 같이 재설정을 하면 됩니다. C:\Program Files\Microsoft SQL Server\MSSQL\Binn>osql -E 1> 2> sp_password @old = null, @new = 'newpassword', @loginame ='sa' 3> 1. osql -E 를 통해서 윈도우인증을 통해서 MSDE에 접속합니다. 2. 그런다음 sp_password 프로시져.. 2007. 7. 24.
T-SQL로 구현한 split 함수 블로그 > WiNMasTeR의 블로그예요. ^^ http://blog.naver.com/jgalgil/120033183983 기능설명 comma (,), semi colon(;) 등으로 구분된 문장을 Row 단위로 분리해서 처리하고자 할 때 사용할 수 있는 Query입니다. (spilit 함수와 유사한 기능을 가지고 있지요.) 여기서 예로 든 것은 SP로 되어 있지만, 때에 따라서 Function으로 만들.. 2007. 7. 24.
MSSQL DBA GUIDE - 프로필러 [따라하기] 1. 다음 방법 중 하나를 이용하여 프로필러를 실행합니다. [시작] → [프로그램] → [Microsoft SQL Server] → [프로필러] 또는 엔터프라이즈 관리자의 상단 메뉴에서 [도구] → [SQL 프로필러]를 선택합니다. 2. [파일] → [새로 만들기] → [추적]을 선택합니다. 3. 원하는 SQL 서버에 연결하면, [추적 속.. 2007. 7. 24.
반응형