본문 바로가기
반응형

MSSQL21

다른 경로 + 트랜젝션 + 시간 기반 복구 데이터베이스를 관리함에 있어서 백업은 매우 중요합니다. 소중한 데이터가 언제 날라갈지 모르기 때문에 항상 백업을 받아 두어야죠. 그렇게 백업을 받아 두었다면 문제가 발생 했을때 딱 하고 써 먹어야 합니다. 이번에 포스트는 백업 받아 놓은 데이터를 다른 경로에 복구 하고 트랜젝션 로그도 끼워 넣고 특정 시간으로 복구 하는 테스트 입니다. ^^ 1. 일단 백업 받아둔 데이터 파일과 로그 파일을 다른경로에 덮어 씌웁니다. replace, move 명령어를 이용하여 다른 경로로 설정하고 norecovery 옵션으로 복구를 시작합니다. -- 전체 데이터베이스 복구(다른 경로에 복구 중인거임) restore database test from disk='D:\TESTDB.BAK' with replace,norecov.. 2008. 2. 20.
벌크 데이터 입력 예제 MSSQL에서 여러가지 쿼리 테스트를 하다 보면... 벌크 데이터가 필요 할 때가 있습니다. .... 제 경우가 그렇다구요 -_-;; 암튼.. 그래서 간단하게 벌크 데이터를 입력하는 T-SQL을 짧게 소개 합니다. ;; 사실.. 엉망진창 테이블이 만들어 집니다. ㅋㅋ 두번째 컬럼에 들어 가는 값이 아주 예술이죠 ^^; 벌크 데이터용 테이블 생성 create table test2( id int identity(1,1), name char(1000), zip char(1000), addr char(1000) ) 벌크 데이터 입력 declare @i int set @i=1 while @i < 129 begin insert into test2 values('primary',char(@i),'abcd-eqer-a.. 2008. 2. 20.
MSSQL 간단한 함수 모음 MSSQL에서 쿼리를 날릴때면... 항상 함수 사용방법이 생각이 안 나서 곤혹스럽습니다.. 그때마다 다시 찾아야 하니까요 ㅠㅠ 그래서... 정리해서 모으다가... 결국은 몇가지 안 된 상태로 정리가 끝나 버렸군요 ㅎㅎ 일단 뭐.. 그거라도.. ㅡㅡ;; -- 문자를 숫자로 변환 select convert(int,'123') or select cast('123' as int) -- 널값 차리 isnull(col1,'0') -- CASE 문 사용 (rollup 에 사용 했었음) case when (grouping(tname) = 1) then '-------' else isnull(tname,'unknown') end as tname -- 날짜 형식 변경, 뒤에 숫자를 요래조래 바꾸자 convert(CHAR(.. 2008. 2. 20.
연결된 서버에 오라클 서버 추가하기 그냥.. 제목 그대로 입니다. ^^;;; MSSQL] 연결된 서버에 오라클 서버 추가하기 1. tnsnames.ora 파일에 서버 추가 Remote = (DESCRIPTION= (ADDRESS_LIST= (ADDRESS = (PROTOCOL=TCP)(HOST=123.456.789.123)(PORT=1521)) ) (CONNECT_DATA= (SID=Remote) ) ) 2. 보안 > 연결된 서버 선택 3. 새 연결된 서버 맹글기 4. 기타 데이터 원본 : Microsoft OLE DB Provider for Oracle 제품 이름 : Oracle 데이터 원본 : Remote 공급자 문자열 : MSDAORA 다음 보안 컨텍스트를 사용하여 연결 : ID/PASSWORD 입력 기본값 Note. 데이터 원본에서.. 2008. 2. 20.
예전에.. 재미로 만들어본 야매 복제 DB -_-;; 예~~전에 30분전 데이터를 가지고 있는 DB를 야매로 만들어 본 적이 있습니다. 근데.. 이거두 하두 예전에 한거라서... 어케 했던건지.. 기억이 잘 나지는 않네요... 이대로 하면 잘 되는지도 모르겠네요 ㅡㅡ;; 아무튼 제 기억으로는... 항상 30분 전의 데이터를 유지하는 DB를 만들었었던거 같습니다. ㅎㅎ .... 이게 쓸모가 있는지는 모르겠지만... 그냥 이런것두 있구나 라고 생각하세요 ㅎㅎ -- [참고용] 파일명에 날짜 입력 방식 -- 날짜 형식 , ex) 200705041041 select convert(CHAR(8),getdate(),112)+replace((substring(convert(CHAR(19),getdate(),120),12,6)),':','') -- 30분전 select d.. 2008. 2. 20.
MSSQL 파일 크기 출력 MSSQL 파일 사용량을 조사 할때 EM에서 봐도 되고 쿼리분석기를 띄워서 쿼리문을 날려서 파일크기를 출력 할 수도 있지만 WMI를 이용하여 간단하게 요렇게 출력 할 수도 있습니다. 출력되는 내용은 요렇게 되겠습니다. - DB명 - 데이터파일 크기 - 로그파일 크기 - 로그파일 사용중인 크기 - 로그파일 사용 % 안타깝게도... 데이터파일이 사용중인 공간은 나오지 않습니다... 안 되는건지.. 제가 모르는지는 모르겠지만요 ㅎㅎ [ DB_DISK.VBS ] On Error Resume Next strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIServic.. 2008. 2. 20.
모든 테이블 사이즈 조사해 보자!! 흠... 이번에 보여주는 T-SQL은 DB내의 모든 테이블에 대한 사이즈를 수집하는 것이다. 만든지 한... 3개월이 지나서 기억이 가물가물 하긴 한데... 모든 테이블의 인덱스 사이즈를 조사해야 할 일이 생겨서 만든거 같다. 그 많은 테이블을 sp_spaceused 를 이용해서 하나씩 하나씩 뒤지다가는 키보드를 부셔 버릴 듯 해서..;; 임시 테이블을 하나 만들어서 sp_spaceused 프로시져를 자료를 수집한다. 그리고 마지막에 임시 테이블을 쿼리해서 내용을 확인하면 끝! -- 모든 테이블 사이즈 조사하면 다나와!! -- 테이블 소유자까지 가져 와서 sp를 돌리므로 모든 테이블에 대한 정보를 수집한다. -- 인덱스가 큰 놈들을 찾아 내자! -- 인덱스가 큰 놈들을 DBCC REINDEX 명령으로 한.. 2008. 1. 21.
로그파일 크기 축소에 대한 고찰 로그 파일을 보면 파일크기는 1GB가 넘는데 실제로 사용하는 용량은 100MB도 안되고 나머지 900MB는 사용하지 않는 경우가 있다. 이는 로그파일 크기가 자동 확장으로 인하여 1GB까지 늘어 났다가 로그 백업을 수행함으로써 로그가 비워지고 다시 차는 경우이다. 많은 트랜잭션이 일어나지 않는 한 로그파일 크기가 1GB라는 것은 낭비다. 낭비~ 그러므로 로그파일 크기를 줄여서 디스크 효율을 높여 보자! 1. 트랜잭션 로그 백업을 수행한다. 로그 백업을 수행하면 로그의 사용중인 공간이 줄어 든다. (백업을 수행해 주어야 축소가 잘 된답니다 ~) 2. 로그를 비우고자 하는 해당 DB에서 작업을 수행한다. 우선 로그를 날려 버리자. 선택 사항이다. 안 해도 된다. BACKUP LOG 데이터베이스명 WITH T.. 2007. 12. 8.
모든 DB 데이터 파일의 사용량을 한방에 확인하자! EM에서 DB 파일 사용량을 체크 할 수도 있고 DBCC SHOWFILESTATS 를 이용해서 하나하나 볼 수도 있지만 만약... DB가 전나게 많다면... ㅡ ㅡ?? 그걸 일일이 마우스로 찍고 있거나 한줄씩 쿼리문을 계속 날린다? 이건 좀 뭔가... 노가다성이 다분해 보이므로... 쓸대 없이 계략을 꾸며 보았다. 컨셉은 이렇다! DBCC SHOWFILESTATS 를 한방에 몰아서 결과를 봅시다~ 또한.. 단순하므로 개념은 이러하다! 커서를 이용해서 USE + DBCC 로 와장창 정보를 끌어 모아서 테이블에 쑤셔 넣는다! 그리하여... 이따구 쿼리가 나오게 되었습니다.. 하하하 =ㅠ= 이 쿼리를 날리면 #size_tmp_dbcc 테이블에 결과값이 입력이 된다. 임시 테이블로 맹글꺼이므로 세션을 끝으면 삭.. 2007. 11. 29.
로그인 유저 리스트 초 간단 블로그질 시리즈 MSSQL 로그인 유저 리스트 확인 sp_helplogins ..... 쿼리 분석기에서 master db 를 잘 뒤져 보면 사용가능한 모든 sp를 볼 수가 있다 -_-;; 심심하면 이거 잘 뒤져 보센 ~ 2007. 11. 29.
트랜잭션 로그 사이즈를 테이블에 냄겨 보자! 트랜잭션 로그 사이즈를 테이블에 쑤셔 넣어 보자!! ... 이게 뭐 하는 짓이여 -_-;; # Intro 트랜잭션 로그 사이즈를 보는 명령어는 아래와 같다. dbcc sqlperf(logspace) 그러면~ 이걸 이용해서 로그 사이즈를 테이블에 넣어 보자! 1. 일단 저장 할 테이블을 맹글고 create table log_dbcc( dbname varchar(50), logsize float, logused float, status int) 2. 그냥 넣으면 끝이다 -_- insert into log_dbcc execute('dbcc sqlperf(logspace)') 3. 확인을 해 보자. select * from log_dbcc 4. 총합계 보기 select sum(logsize),sum(0.01*l.. 2007. 11. 27.
공백이 포함된 값 찾아 내기 다시 정신을 차리고 블로그 질을 하기로 마음 먹었다 =ㅅ= 예전에... 뭔가를 하다가 이런걸 만들었었지.. 공백이 포함된 데이터를 찾아 내는 쿼리문이다. 1. 테스트를 할 테이블을 맹근다 create table chk_space( aa varchar(10)) 2. 테스트용 데이터를 넣자 insert into chk_space values('abcdefg') insert into chk_space values('abc defg') insert into chk_space values('abcd efg') insert into chk_space values(' abcdefg') insert into chk_space values('abcdefg ') 3. 데이터를 확인 하고 select * from chk_s.. 2007. 11. 27.
반응형