Always On 가용성 그룹의 FILESTREAM 및 FileTable(SQL Server)FILESTREAM and FileTable with Always On Availability Groups (SQL Server)

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에는 Always On 가용성 그룹Always On availability groups 에서 SQL Server 2017SQL Server 2017과 함께 FILESTREAM 및 FileTable 기능 사용에 대한 정보가 포함되어 있습니다.This topic contains information about the using the FILESTREAM and FileTable features with Always On 가용성 그룹Always On availability groups in SQL Server 2017SQL Server 2017.

모든 FILESTREAM 기능이 지원됩니다.All FILESTREAM functionality is supported. 장애 조치(Failover) 이후 FILESTREAM 데이터는 읽기 가능한 두 보조 복제본 및 새로운 주 복제본에서 액세스할 수 있습니다.After a failover, FILESTREAM data is accessible on both readable secondary replicas and on the new primary.

FileTable 기능은 부분적으로 지원됩니다.FileTable functionality is partially supported. 장애 조치(Failover) 이후 FileTable 데이터는 주 복제본에서 액세스할 수 있지만 FileTable 데이터를 읽기 가능한 보조 복제본에서는 액세스할 수 없습니다.After a failover, FileTable data is accessible on the primary replica, but FileTable data is not accessible on readable secondary replicas.

항목 내용In this Topic:

필수 구성 요소Prerequisites

  • FileTable을 포함하거나 포함하지 않고 FILESTREAM을 사용하는 데이터베이스를 가용성 그룹에 추가하려면 먼저 가용성 그룹에 대한 가용성 복제본을 호스팅하는 모든 서버 인스턴스에 FILESTREAM이 설정되었는지 확인합니다.Before adding a database that uses FILESTREAM, with or without FileTable, to an availability group, ensure that FILESTREAM is enabled on every server instance that hosts an availability replica for the availability group. 자세한 내용은 Enable and Configure FILESTREAM을 참조하세요.For more information, see Enable and Configure FILESTREAM.

FILESTREAM 및 FileTable 액세스를 위한 VNN(가상 네트워크 이름) 사용Using Virtual Network Names (VNNs) for FILESTREAM and FileTable Access

SQL ServerSQL Server인스턴스에 FILESTREAM을 설정하면 FILESTREAM 데이터에 대한 액세스를 제공하도록 인스턴스 수준의 공유가 만들어집니다.When you enable FILESTREAM on an instance of SQL ServerSQL Server, an instance-level share is created to provide access to the FILESTREAM data. 이 공유에는 다음 형식의 컴퓨터 이름을 사용하여 액세스합니다.You access this share by using the computer name in the following format:

\\<computer_name>\<filestream_share_name>

하지만 Always On 가용성 그룹에서 컴퓨터 이름은 VNN(가상 네트워크 이름)을 사용하여 가상화됩니다.In an Always On availability group, however, the name of the computer is virtualized by using a Virtual Network Name, or VNN. 컴퓨터가 가용성 그룹에서 주 복제본이고, 가용성 그룹의 데이터베이스에 FILESTREAM 데이터가 포함되어 있으면 FILESTREAM 데이터에 대한 액세스를 제공하도록 VNN 범위의 공유도 만들어집니다.When the computer is the primary replica in an availability group, and databases in the availability group contain FILESTREAM data, then a VNN-scoped share is also created to provide access to the FILESTREAM data. 이러한 동작은 FILESTREAM 데이터에 대한 Transact-SQL 액세스에 영향을 주지 않습니다.This does not affect Transact-SQL access to FILESTREAM data. 하지만 파일 시스템 API를 사용하는 응용 프로그램은 다음 형식의 경로가 포함된 VNN 범위의 공유를 사용해야 합니다.However applications that use file system APIs have to use the VNN-scoped share, which has a path in the following format:

\\<VNN>\<filestream_share_name>

이 VNN 범위의 공유는 다음 이벤트 중 하나가 발생할 때 만들어집니다.This VNN-scoped share is created when one of the following events occurs.

  • FILESTREAM 데이터가 포함된 데이터베이스를 주 복제본의 Always On 가용성 그룹에 추가합니다.You add a database that contains FILESTREAM data to an Always On availability group on the primary replica. 이 경우 \\<computer_name>\<filestream_share_name> 공유는 이미 존재합니다.In this case, the share \\<computer_name>\<filestream_share_name> already exists. \\<VNN>\<filestream_share_name> 공유가 만들어집니다.The share \\<VNN>\<filestream_share_name> is created.

  • 가용성 그룹이 포함된 주 복제본에서 파일 입/출력 스트리밍 액세스를 위해 FILESTREAM을 설정합니다.You enable FILESTREAM for file i/o streaming access on a primary replica that has availability groups. 다음 공유가 만들어집니다.The following shares are created:

    1. \\<computer_name>\<filestream_share_name>

    2. \\<VNN1>\<filestream_share_name> - 가용성 그룹 1\\<VNN1>\<filestream_share_name> for availability group 1.

    3. \\<VNN2>\<filestream_share_name> - 가용성 그룹 2\\<VNN2>\<filestream_share_name> for availability group 2.

    이러한 VNN 범위의 공유는 모든 보조 복제본에도 전파됩니다.These VNN-scoped shares are also propagated to all secondary replicas.

    FILESTREAM 또는 FileTable 데이터가 포함된 데이터베이스가 Always On 가용성 그룹에 속하는 경우When the database that contains FILESTREAM or FileTable data belongs to an Always On availability group:

  • FILESTREAM 및 FileTable 함수가 컴퓨터 이름 대신 VNN(가상 네트워크 이름)을 사용하거나 반환합니다.The FILESTREAM and FileTable functions accept or return virtual network names (VNNs) instead of computer names. 이러한 함수에 대한 자세한 내용은 Filestream 및 FileTable 함수(Transact-SQL)를 참조하세요.For more information about these functions, see Filestream and FileTable Functions (Transact-SQL).

  • 파일 시스템 API를 통한 FILESTREAM 또는 FileTable 데이터에 대한 모든 액세스에는 컴퓨터 이름 대신 VNN이 사용되어야 합니다.All access to FILESTREAM or FileTable data through the file system APIs should use VNNs instead of computer names.

    데이터베이스가 가용성 그룹에 속할 때 응용 프로그램이 \\<computer_name>\<filestream_share_name> 형식의 컴퓨터 이름을 사용하여 공유에 액세스하려고 시도하면 오류가 발생합니다.If your application tries to access the share by using the computer name in the format \\<computer_name>\<filestream_share_name> when the database is part of an availability group, then an error is raised.

    데이터베이스가 가용성 그룹에 속하지 않을 때 응용 프로그램이 VNN 범위의 경로를 사용하여 공유에 액세스하려고 시도하면 요청이 성공할 수 있습니다.If your application tries to access the share by using a VNN-scoped path when the database is not part of an availability group, then the request may succeed. 이 경우 가상 네트워크 이름은 컴퓨터 이름으로 확인됩니다.In this case, the virtual network name is resolved to the computer name. 하지만 이러한 사용 방식은 가용성 그룹이 삭제될 경우 VNN 범위의 경로가 작동을 중지할 수 있기 때문에 사용하지 않는 것이 좋습니다.However this usage is strongly discouraged, since the VNN-scoped path will stop working if the availability group is dropped.

관련 태스크Related Tasks

관련 내용Related Content

없음None.

참고 항목See Also

Always On 가용성 그룹 개요(SQL Server)Overview of Always On Availability Groups (SQL Server)