본문 바로가기

ms-sql16

Mass SQL Injection 공격에서 배우기 다음은 요즘 유행하는 mass sql injection 공격의 일부 내용이다. ‘Mass Sql injection’ 공격은 중국으로부터 많이 발생하는 해킹기법으로 보통 DB접속을 통하는 Sql injection과 달리, 툴을 이용하여 한번의 공격으로 방대한 코드를 삽입하여 다량의 DB값을 변조시킴으로써 웹사이트에 치명적인 영향을 입힌다. 실제로 ASP를 사용하는 많은 기업들이 이 공격으로 인한 피해를 당했다고 설명했다. (참고 사이트와 책을 이용하면 더 많은 공부를 할 수 있을 것이다.) dEcLaRe @S VaRcHaR(4000) SeT @s=cAsT( DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR SELECT a.nam.. 2009. 2. 23.
MS-SQL 간단 DB 백업 및 복구 Old machine의 'test' DB 백업 -> New machine의 'test' DB 복구 --------------------------------------------------------------------------------- 1. Old machine의 'master' db를 이용하여, 'test' DB detach 하기 EXEC sp_detach_db 'test', 'true' 이 과정없이, Data File과 Log File을 copy 하려하면 'test' db가 사용중이어서 copy 불가 2. Old machine의 Data File과 Log File파일 복사 하여, New machine에 붙여넣기 Data File -> C:\Program Files\Microsoft SQL S.. 2009. 1. 29.
SQL Server 2005 데이터베이스 미러링 들어가는 글 데이터베이스 미러링은 데이터베이스 가용성을 증가시키기 위한 새로운 SQL Server 2005 기술입니다. 데이터베이스 미러링 은 트랜잭션 로그 레코드를 한 서버에서 다른 서버로 직접 전송하고 대기 서버로 신속하게 장애 조치할 수 있습니다. 클라이언 트 응용 프로그램이 연결 정보를 자동으로 재전송하고 장애 조치의 경우 대기 서버와 데이터베이스에 자동으로 연결하도록 코딩할 수 있습니다. 데이터 손실을 최소화하는 빠른 장애 조치는 전통적으로 하드웨어 비용이 높고 소프트웨어 복잡성이 커집니다. 그러나 데이터 베이스 미러링은 커밋된 데이터 손실이 없이 빠르게 장애 조치할 수 있으며, 전용 하드웨어가 필요하지 않고 설치와 관리가 쉽습니다. 데이터베이스 미러링 개요 데이터베이스 미러링에서 원래 SQL .. 2008. 12. 26.
SQL Server 2005 데이터베이스 스냅샷(Snapshot) 데이터베이스 스냅샷(Snapshot) 업무에서 데이터베이스를 사용하다 보면 특정 시점의 데이터베이스를 접근 하고 싶은 경우가 있습니다. 예를 들면 오후 6시 시점의 데이터베이스를 대상으로 보고서를 산출하고 싶은 경우가 발생 할 수 있습니다. 하지만 데이터베이스에는 계속해서 데이터가 추가, 변경 또는 삭제 되므로 오후 6시 시점의 데이터베이스를 접근 할 수가 없습니다. SQL 서버 2005에서는 데이터베이스 스냅샷을 이용해 이러한 작업이 가능하게 됩니다. 1. 데이터베이스 스냅샷이란 데이터베이스 스냅샷은 특정 시점의 고정된 읽기 전용의 데이터베이스입니다. 특정 시점에 데이터베이스 스냅샷이 만들어지고 나면 원본 데이터베이스의 데이터가 변경되어도 데이터베이스 스냅샷은 변경되지 않습니다. 만일 오후 6시 시점에.. 2008. 12. 26.
MS-SQL 테이블 구조 또는 데이타 복사 SELECT * INTO 생성될 테이블명 FROM 원본 테이블 명 예) SELECT * INTO target FROM source 단 ) 제약조건이나, Identity 정보는 복사되지 않는다. MS-SQL 쿼리분석기에서 테이블구조만 복사 Select * into (만들고싶은 테이블) From (소스테이블) Where 0=1 MS-SQL 동일 테이블에서 특정 필드값만 변경해서 복사 하는 방법 INSERT INTO AA ( 필드1, 필드2, 필드3, 필드4, 필드5 ) SELECT '2007', 필드2, 필드3, 필드4, 필드5 FROM AA WHERE 필드1='2006' 서버에서 테이블 복사하는 법은? 간단하게 BACKUP DATABASE 디비명 TO DISK='경로' WITH INIT restore da.. 2008. 12. 17.
728x90