SQL Shield는 설치 후에 바로 사용하실 수 있습니다. SQL Shield는 현존하는 프로시저(들)에 영향을 끼치지 않으며 이미 존재하는 어떠한 개체(들)도 변경하지 않습니다. SQL Shield를 활성화하면 새로이 생성된 프로시저(들)에 한해서 영향을 받습니다. 새로운 메소드를 명확하게 지정할 때만 영향이 미칩니다. 따라서, 현존하는 메소드 및 새로운 메소드 둘 다 충돌함이 없이 공존할 수 있습니다. 새로운 방법을 명확하게 지정하기 위해서, /*sqlshield*/ 코멘트를 WITH ENCRYPTION 항에 삽입해야 합니다. 이 코멘트는 케이스(소문자, 대문자 구별)에 민감합니다. Example:
CREATE PROCEDURE MyTest WITH /*sqlshield*/ ENCRYPTION AS SELECT 2+2 |
SQL Shield는 SQL Server 또는 SQL Shield 모드로 암호화된 프로시저(들)를(을) 복호화 하는 방법을 제공하지 않습니다.
MSSQL 서버 7.0의 내부 한계 때문에, SQL Shield 암호화로 암호화하여 저장된 프로시저 및 뷰는 4000 문자를 넘을 수 없습니다. 4000문자를 넘는 프로시저는 네이티브 SQL 암호로 암호화합니다. MSSQL 2000 버전은 제한이 없습니다.
SQL 서버 프로시저들을 얼마나 쉽게 복호화 할 수 있는지 보십시오. 간단하게 암호화하여 저장된 프로시저를 생성해 보십시오:
웹 검색에 있는 복호화 프로그램을 위치합니다.
해당 프로그램을 시작하십시오, 새로이 생성된 프로시저를 선택하여 저장하십시오.
생성된 텍스트 파일을 메모장에서 엽니다. 보십시오: 모든 암호화된 프로시저가 몇 번의 클릭으로 노출될 수 있습니다!
이제 SQL Shield가 이 문제를 어떻게 해결하는지를 보도록 합시다.
아직 SQL Shield를 시작하지 않았다면, SQL Shield를 시작하십시오:
새로이 저장된 프로시저를 생성하고 /*sqlshield*/ 코멘트를 답니다:
여전히 문제 없이 실행될 수 있는지 실행하여 봅니다.
디크립터를 실행하여 실행된 디크립터를 당사의 프로시저에 적용하여 보십시오:
저장 버튼을 누르고 결과 파일을 봅니다:
당사의 프로시저는 이제 보호되었습니다.
SQL Shield로 보호되지 않을 경우 어떤 일이 발생하는 지 보시겠습니까? master.sqlshield_startup 프로시저에서 SQL Shield의 자동 시작을 비활성화 하고 SQL 서버를 다시 시작합니다. 이제 sqlshield_test를 다시 실행합니다. 다음 오류를 확인할 수 있을 것입니다.
SQL 실드를 시작하면, 실드는 다시 실행 가능한 상태가 됩니다.