블로그 이미지
progh2
지루한 것에서 벗어나 재미난 것 속으로 풍덩~☆

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

Recent Post

Recent Comment

Archive

2008. 10. 21. 22:09 기술문서창고/windows tip
textupdate인가 updatetext인가 하는 방법을 쓰는 법도 있지만,
여러모로 복잡한 고로 간단히 varchar 필드를 추가한 후, 여기에 text 필드의 값을
넣은 후 이 값을 replace로 치환, 다시 text 필드로 덮어쓰는 script를 만들어 보았습니다.

최근 악성코드때문에 고생하시는 분들은 있는데, 유용히 쓰였으면 좋겠네요.

아래 소스는 authors 라는 테이블에 text 속성인 desc1 칼럼이 있고 이 필드에 있는
<script url='http://'>악성코드</script>' 를 '<br>' 으로 변경할 경우를 가정한 것입니다.
적절히 수정해서 쓰세요~


-- 변수 선언
declare @target_column varchar(100)
declare @replace_source_string varchar(100)
declare @replace_target_string varchar(100)
declare @temp_column varchar(100)
declare @table_name varchar(100)
declare @sql varchar(1000)
declare @temp_column_size varchar(5)
set @temp_column='temp_column'
--//////////////////////////////////////////////
--
-- 경우에 맞게 적절하게 수정해서 사용
--
--//////////////////////////////////////////////
set @table_name='authors'
set @target_column='desc1'
set @replace_source_string='<script url=''''http://''''>악성코드</script>'
set @replace_target_string='<br>'
set @temp_column_size=4000
-- varchar형식의 임시 칼럼 추가
set @sql='alter table ' + @table_name + ' add ' + @temp_column + ' varchar('+ @temp_column_size +');'
exec (@sql)
-- 임시 칼럼으로 데이터 복사
set @sql='update ' + @table_name + ' set ' + @temp_column + '=' + @target_column
exec (@sql)
-- 원하는 문자열 제거
set @sql='update ' + @table_name + ' set ' + @temp_column + '=replace(' +@temp_column + ', ''' + @replace_source_string + ''', ''' + @replace_target_string +''')'
exec (@sql)
-- 임시 칼럼에서 원본 칼럼으로 데이터 덮어쓰기
set @sql='update ' + @table_name + ' set ' +  @target_column + '=' + @temp_column
exec (@sql)
-- 임시칼럼 삭제
set @sql='alter table ' + @table_name + ' drop column ' + @temp_column + ';'
exec (@sql)
-- 결과 조회
set @sql='select * from ' + @table_name;
exec (@sql)

posted by progh2
2008. 6. 2. 22:40 카테고리 없음

Cafe24 등에서 윈도우즈 서버에서 작동하는 ASP기반의 사이트는
MS-SQL2000 서버를 사용합니다. 그런데 관리 화면에서 DB백업을
하면 bak라는 확장자를 가진 파일을 생성해줍니다.
아래 내용은 이 bak 파일을 SQL2000 DB서버가 설치되어있는 컴퓨터에서
복원하는 방법입니다.

책을 뒤져보기면 나오겠지만 귀찮아서 -_- (여러 권의 책들 아래에 깔려있습니다;)
조금 끄적거리다보니 방법을 찾아냈습니다.


01234

SQL2000서버의 영원한 친구-_-인 엔터프라이즈 매니저로 들어가서
좌측 트리모양의 뷰에서 '서버' 아이콘을 선택, 마우스 오른쪽 클릭,
데이터베이스 복원을 선택한 후
장치 선택, ~.bak파일이 있는 곳을 선택하면 복원을 할 수 있습니다.

그런데 주의점이 있는데,
해당 파일이 원래 있었던 절대경로를 기준으로 복원이 되기 때문에,
설정에서 적절히 복원될 위치를 수정해줘야 합니다.

예를 들어서 이번 cafe24에서 백업받은 db백업본의 경우
f:\MSSQL\Data 폴더로 지정되어 있어
c:\MSSQL\Data 폴더를 고치고 해당 폴더를 생성해줬습니다.
물론 복원도 잘 되었지요.

직접 해보면 별 것 아닌데...
글로 쓰고 그림도 넣다보니 뭔가 복잡해보이고 길어지네요. ^^
자동차 네비게이션처럼 윈도우 프로그램도
이런 네비게이션이 있으면 좋을 것 같기도.. ㅠ_ㅠ
클릭해서 메뉴 뒤지는 것은 좋지 않아요~
posted by progh2
prev 1 next