확장 저장 프로시저의 실행 특징
중요 |
---|
Microsoft SQL Server의 이후 버전에서는 이 기능이 제거됩니다. 새 개발 작업에서는 이 기능을 사용하지 말고, 현재 이 기능을 사용하는 응용 프로그램은 가능한 한 빨리 수정하십시오. 대신 CLR 통합을 사용하십시오. |
확장 저장 프로시저 실행에는 다음과 같은 세 가지 특징이 있습니다.
확장 저장 프로시저 함수는 Microsoft SQL Server 보안 컨텍스트에서 실행됩니다.
확장 저장 프로시저 함수는 SQL Server 프로세스 공간에서 실행됩니다.
확장 저장 프로시저 실행과 연결되는 스레드는 클라이언트 연결에 사용되는 스레드와 같은 것입니다.
보안 정보 시스템 관리자는 확장 저장 프로시저를 서버에 추가하고 다른 사용자에게 실행 권한을 부여하기 전에 각 확장 저장 프로시저를 철저히 검토하여 유해 코드 또는 악성 코드가 포함되어 있는지 확인해야 합니다.
확장 저장 프로시저 DLL이 로드되면 SQL Server가 중지되거나 관리자가 DBCC DLL_name(FREE)을 사용하여 명시적으로 DLL을 언로드하기 전까지 DLL이 서버의 주소 공간에 로드된 상태로 유지됩니다.
Transact-SQL에서 EXECUTE 문을 사용하여 확장 저장 프로시저를 저장 프로시저처럼 사용할 수 있습니다.
EXECUTE @retval = xp_extendedProcName @param1, @param2 OUTPUT
매개 변수
@ retval
반환 값입니다.@ param1
입력 매개 변수입니다.@ param2
입/출력 매개 변수입니다.주의 확장 저장 프로시저는 성능 향상과 SQL Server 기능 확장을 제공합니다. 그러나 확장 저장 프로시저 DLL과 SQL Server는 같은 주소 공간을 공유하므로 문제가 있는 프로시저가 SQL Server 작동에 부정적인 영향을 줄 수 있습니다. 확장 저장 프로시저 DLL에서 throw하는 예외는 SQL Server에서 처리되지만 SQL Server 데이터 영역에 손상을 줄 수 있습니다. 보안 예방 조치로서 SQL Server 시스템 관리자만 확장 저장 프로시저를 SQL Server에 추가할 수 있습니다. 이러한 프로시저는 설치하기 전에 철저히 테스트해야 합니다.