저장 프로시저 - SQL Server Native Client에서 실행
적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)
Important
SQL Server Native Client(약칭 SNAC)는 SQL Server 2022(16.x) 및 SSMS(SQL Server Management Studio) 19에서 제거되었습니다. SQL Server Native Client OLE DB 공급자(SQLNCLI 또는 SQLNCLI11)와 레거시 Microsoft OLE DB Provider for SQL Server(SQLOLEDB)는 모두 새로운 개발에 권장되지 않습니다. 앞으로 SQL Server용 새 Microsoft OLE DB 드라이버(MSOLEDBSQL)로 전환합니다.
문을 실행할 때 클라이언트 애플리케이션에서 문을 직접 실행하거나 준비하는 대신 데이터 원본에서 저장 프로시저를 호출하면 다음을 제공할 수 있습니다.
더 높은 성능.
네트워크 오버헤드 감소
더 나은 일관성.
정확도가 향상되었습니다.
기능 추가
SQL Server Native Client OLE DB 공급자는 SQL Server 저장 프로시저가 데이터를 반환하는 데 사용하는 세 가지 메커니즘을 지원합니다.
프로시저의 모든 SELECT 문은 결과 집합을 생성합니다.
프로시저는 출력 매개 변수를 통해 데이터를 반환할 수 있습니다.
프로시저에는 정수 반환 코드가 있을 수 있습니다.
애플리케이션은 저장 프로시저에서 이러한 모든 출력을 처리할 수 있어야 합니다.
다른 OLE DB 공급자는 출력 매개 변수를 반환하고 결과 처리 중에 다른 시간에 값을 반환합니다. SQL Server Native Client OLE DB 공급자의 경우 소비자가 저장 프로시저에서 반환된 결과 집합을 검색하거나 취소할 때까지 출력 매개 변수 및 반환 코드가 제공되지 않습니다. 반환 코드와 출력 매개 변수는 서버에서 보내는 마지막 TDS 패킷에서 반환됩니다.
공급자는 DBPROP_OUTPUTPARAMETERAVAILABILITY 속성을 사용하여 출력 매개 변수를 반환하고 값을 반환할 때 보고합니다. 이 속성은 DBPROPSET_DATASOURCEINFO 속성 집합에 있습니다.
SQL Server Native Client OLE DB 공급자는 결과 집합이 처리되거나 해제될 때까지 반환 코드 및 출력 매개 변수가 반환되지 않음을 나타내기 위해 DBPROP_OUTPUTPARAMETERAVAILABILITY 속성을 DBPROPVAL_OA_ATROWRELEASE 설정합니다.