개발 일을 하다가 보니 MS SQL2008R2 를 사용하고 있습니다.
고객사의 모니터링 시스템을 만들고 있었습니다.
이미지를 저장에 대하여 관리적인 측면에서 파일을 DB에 저장을 합니다.
SQL2008부터 FILESTREAM이 있고 강력하다는 말에 사용하게 되었습니다.
하지만, 내 생각과 다른 부분이 있어서, 힘들게 셋팅 된 부분과 내용을 지워야 했습니다.
그래서, 제거(삭제) 순서를 이렇게 하였습니다.
1. FileStream이 들어간 테이블 삭제 –> drop table filestream_tablename
2. DB FILE 삭제 -> alter database dbname remove file filestream_filename
3. DB FILEGROUP 삭제 -> alter database dbname remove filegroup filestream _groupname
4. FILE STREAM 기능 해제 –> SQL구성관리자 => SQL Server => 속성 =>FILESTREAM TAB => T-SQL 엑세스에 FILESTREAM사용 해제 => SQL SERVER 재시작
4번에서 기능을 해제하고 재 시작하면 DB접속이 되지 않을 경우가 있습니다. 이 때, 다시 사용을 체크하고 DB 연결이 후 재시작하면 연결되고, 이후 다시 1,2,3,4 을 해 주면 됩니다.
일단 지우고 예전 소스를 돌려도 아직까지는 깔금하게 동작하고 있습니다. 관리 측면도 편합니다.
하지만, FILE STREAM 를 꼭 사용해야 할 경우가 있습니다 .
예전방식에서 FILE이 너무 크면 DB저장이 부적절했습니다. SELECT와 INSERT가 문제였습니다.
이를 나름 해결점을 제시 하는 방식이 FILESTREAM입니다. 즉, 대용량의 파일을 SQL관리시스템 하에 둘 때
성능저하를 가져오지 않고 사용하고자 할 때 괜찮습니다.
단점은 백업과 저장 위치, 파일삭제 등의 문제가 조금 있습니다. 이곳에 CHECKPOINT 등을 두어 시스템적으로 해결 할 수 도 있습니다. 개인적으로 아직은 편리함 보다 불편함이 많은 기능인 것 같습니다.
'프로그래밍 > SQL' 카테고리의 다른 글
MS SQL 2008에서 필드 수정 후 저장이 안되면 아래 옵션을 확인 한다. (0) | 2013.11.14 |
---|---|
MS SQL에서 FILESTREAM 사용시의 단점(?) (0) | 2013.11.12 |
(참조) MS SQL 의 FILESTREAM를 활성화 시키는 방법 (0) | 2013.11.12 |