다음을 통해 공유


FILESTREAM 지원

FILESTREAM은 SQL Server 또는 Windows 파일 시스템에 대한 직접 액세스를 통해 큰 이진 값을 저장하고 액세스하는 방법을 제공합니다. 큰 이진 값은 2GB보다 큰 값입니다. 향상된 FILESTREAM 지원에 대한 자세한 내용은 FILESTREAM(SQL Server)를 참조하십시오.

데이터베이스 연결을 열면 @@TEXTSIZE가 기본적으로 -1("제한 없음")로 설정됩니다.

Windows 파일 시스템 API를 사용하여 FILESTREAM 열에 액세스하고 업데이트할 수도 있습니다.

자세한 내용은 다음 항목을 참조하십시오.

FILESTREAM 열 쿼리

OLE DB의 스키마 행 집합은 열이 FILESTREAM 열인지 여부를 보고하지 않습니다. OLE DB의 ITableDefinition을 사용하여 FILESTREAM 열을 만들 수 없습니다.

ODBC의 SQLColumns와 같은 카탈로그 함수는 열이 FILESTREAM 열인지 여부를 보고하지 않습니다.

FILESTREAM 열을 만들거나 FILESTREAM 열인 기존 열을 검색하려면 sys.columns 카탈로그 뷰의 is_filestream 열을 사용할 수 있습니다.

다음은 이에 대한 예입니다.

-- Create a table with a FILESTREAM column.
CREATE TABLE Bob_01 (GuidCol1 uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWID(), IntCol2 int, varbinaryCol3 varbinary(max) FILESTREAM);

-- Find FILESTREAM columns.
SELECT name FROM sys.columns WHERE is_filestream=1;

-- Determine whether a column is a FILESTREAM column.
SELECT is_filestream FROM sys.columns WHERE name = 'varbinaryCol3' AND object_id IN (SELECT object_id FROM sys.tables WHERE name='Bob_01');

하위 수준과의 호환성

SQL Server 2005에 포함된 SQL Server Native Client 버전을 사용하여 클라이언트가 컴파일되었으며 응용 프로그램이 SQL Server 2012에 연결하는 경우 varbinary(max) 동작이 SQL Server 2005와 호환됩니다. 즉, 반환되는 데이터의 최대 크기가 2GB로 제한됩니다. 결과 값이 2GB보다 큰 경우 잘림이 발생하고 "문자열 데이터 오른쪽 잘림" 경고가 반환됩니다.

데이터 형식 호환성을 80으로 설정하면 클라이언트 동작이 하위 수준 클라이언트 동작과 일치합니다.

SQLOLEDB 또는 SQL Server Native Client의 SQL Server 2005 버전보다 먼저 출시된 기타 공급자를 사용하는 클라이언트의 경우 varbinary(max)가 이미지에 매핑됩니다.

참고 항목

관련 자료

SQL Server Native Client 기능