다음을 통해 공유


런타임 시 문 작성

업데이트: 2005년 12월 5일

런타임 시 SQL 문을 동적으로 작성해야 하는 대부분의 Microsoft SQL Server 2005 응용 프로그램에서는 데이터베이스 API 함수 또는 메서드를 호출하여 문을 실행하기 전에 SQL 문을 작성합니다. 예를 들어 ODBC를 사용하는 C 언어 응용 프로그램에서는 동적으로 하나 이상의 SQL 문을 문자 배열로 작성하고 해당 배열을 SQLPrepare 또는 SQLExecDirect 함수로 전달합니다.

Transact-SQL은 Transact-SQL 스크립트, 저장 프로시저 및 트리거에서 런타임 시 SQL 문을 작성하는 다음과 같은 방법을 지원합니다.

  • sp_executesql 시스템 저장 프로시저를 사용하여 유니코드 문자열을 실행합니다. sp_executesql은 RAISERROR 문과 유사한 매개 변수 대체를 지원합니다.
  • EXECUTE 문을 사용하여 문자열을 실행합니다. EXECUTE 문은 실행된 문자열에서 매개 변수 대체를 지원하지 않습니다.
    ms178115.security(ko-kr,SQL.90).gif보안 정보:
    EXECUTE 문을 사용하여 문자열을 실행하면 SQL 인젝션 공격을 받기 쉽습니다. 대신 sp_executesql을 매개 변수와 함께 사용하는 것이 좋습니다.

참고 항목

개념

sp_executesql 사용

관련 자료

SQL 인젝션
sp_executesql(Transact-SQL)

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2005년 12월 5일

변경된 내용
  • SQL 인젝션에 대한 보안 정보를 삽입했습니다.
  • 코드 예를 제거했습니다.