본문 바로가기

Databases/SQL Server

sql server 에서 특정 순위의 값만 추출 (limit N, N) SQL server 에서 result set를 추출 한다음 순위를 매겨 특정 부분만 별도로 추출 하고자고 한다.(예를 들면 100위부터 200위 까지의 목록 추출) mysql 에서는 limit N, N 과 같은 구문으로 간단하게 추출이 가능 하지만 sql server 에서는 limit와 비슷한 기능을 하는 top 구문으로는 top N, N과 같은 형태로 사용 할 수 없다. 그래서 아래와 같이 row_number() 함수를 사용하여 row 컬럼을 추가 하여 순위를 나열 한 후 그 순위에 대한 범위를 지정 하는 방법을 이용하면 동일한 효과를 얻을 수 있다. -- 을 order by 하여 100 ~ 200 까지의 순번 데이터 추출select * from (select *, row_number() over (o.. 더보기
BCP를 이용한 데이터 추출 bcp "[query statement]" queryout "[file path]" [options] [options]-S 서버이름-U user-P password-c 필드 형식을 묻지 않고 바로 저장 참조 http://msdn.microsoft.com/ko-kr/library/ms162802.aspx 더보기
MSSQL 파일 생성 하기 (4단계) 1. OLE개체 인스턴스 생성EXEC @RC = sp_OACreate 'Scripting.FileSystemObject', @FS OUT 2. File OpenEXEC @RC = sp_OAMethod @FS, 'OpenTextFile' , @FileID OUT, @FileName, 8, 1 3. WriteEXEC @RC = sp_OAMethod @FileID, 'WriteLine', Null, '테스트' 4. OLE 개체를 삭제EXECUTE @RC = sp_OADestroy @FileIDEXECUTE @RC = sp_OADestroy @FS 참고:http://msdn.microsoft.com/en-us/library/ms189763.aspx 더보기
identity값 초기화 identity 값을 0으로 설정 DBCC CHECKIDENT([table_name], RESEED, 0) 더보기
MSSQL 용량 부족 시 용량 확보 방법 1. 데이터베이스 사이즈 정보 확인 exec sp_helpfile 2. .mdf 파일 사이즈 줄이기 DBCC SHRINKDATABASE(file_name) 3. .ldf 파일 사이즈 줄이기 DBCC SHRINKFILE(file_name, size(MB)) - 로그 자르기 (database option -> simple로 먼저 변환해야함)BACKUP LOG WITH TRUNCATE_ONLY shrink시 data loss 문제에 관련 링크 http://blog.sqlauthority.com/2009/01/25/sql-server-shrinking-ndf-and-mdf-files-a-safe-operation/ 더보기