Always On 가용성 그룹과 함께 FILESTREAM 및 FileTable 사용
적용 대상: SQL Server - Windows만 해당
이 문서에는 SQL Server의 Always On 가용성 그룹과 함께 FILESTREAM 및 FileTable 기능을 사용하는 방법에 대한 정보가 포함되어 있습니다.
모든 FILESTREAM 기능이 지원됩니다. 장애 조치(failover)를 취한 후 FILESTREAM 데이터는 읽을 수 있는 보조 복제본(replica) 및 새 주 데이터베이스에 모두 액세스할 수 있습니다.
FileTable 기능은 부분적으로 지원됩니다. 장애 조치(failover)를 취한 후에는 FileTable 데이터는 주 복제본(replica)에서 엑세스를 할 수 있지만 읽을 수 있는 보조 복제본에서는 FileTable 데이터에 엑세스할 수가 없습니다.
필수 조건
- FILESTREAM의 유무에 상관없이 FILESTREAM을 사용하는 데이터베이스를 가용성 그룹에 추가하기 이전에 가용성 그룹에 대한 가용성 복제본을 호스팅하는 모든 서버 인스턴스에서 FILESTREAM이 활성화되어 있는지 확인해 보세요. 자세한 내용은 FILESTREA 활성화 및 FILESTREAM 구성을 참조해 보세요.
- Windows Server 2012 기반 장애 조치 클러스터에서는 Windows Server 2012 기반 장애 조치 클러스터에서 FILESTREAM 및 FileTable 기능을 사용하여 VNN(가상 네트워크 이름)을 사용하며 파일 공유에 액세스할 때 FILESTREAM 공유에 액세스할 수 없음에서 설명한 핫픽스를 적용해야 합니다. 이 핫픽스는 Microsoft 업데이트 카탈로그에서도 사용할 수 있습니다.
FILESTREAM 및 FileTable 액세스에 VNN(가상 네트워크 이름) 사용
SQL Server 인스턴스에서 FILESTREAM을 활성화하면 FILESTREAM 데이터에 대한 액세스를 제공하기 위한 인스턴스 수준의 공유가 만들어집니다. 다음 형식의 컴퓨터 이름을 사용하여 이 공유에 액세스합니다:
\\<computer_name>\<filestream_share_name>
그러나 Always On 가용성 그룹에서의 컴퓨터 이름은 가상 네트워크 이름 또는 VNN을 사용하여 가상화됩니다. 컴퓨터가 가용성 그룹의 기본 복제본(replica) 있고 가용성 그룹의 데이터베이스에 FILESTREAM 데이터가 포함되었을 때 FILESTREAM 데이터에 대한 액세스를 제공하기 위하여 VNN 범위 공유도 만들어집니다. 이는 FILESTREAM 데이터에 대한 Transact-SQL 액세스에는 영향을 끼치지 않습니다. 그러나 파일 시스템 API를 사용하는 애플리케이션은 다음과 같은 형식의 경로가 있는 VNN 범위 공유를 사용해야 합니다:
\\<VNN>\<filestream_share_name>
이러한 VNN 범위 공유는 다음 이벤트 중 하나가 발생할 때 만들어집니다.
FILESTREAM 데이터가 포함된 데이터베이스를 주 복제본(replica)의 Always On 가용성 그룹에 추가합니다. 이 경우에 있어서, 공유
\\<computer_name>\<filestream_share_name>
이 이미 있습니다. 공유이\\<VNN>\<filestream_share_name>
만들어집니다.가용성 그룹이 있는 주 복제본(replica) 파일 i/o 스트리밍 액세스에 FILESTREAM을 사용하도록 설정합니다. 다음과 같은 공유가 만들어집니다:
\\<computer_name>\<filestream_share_name>
.\\<VNN1>\<filestream_share_name>
- 가용성 그룹 1의 경우.\\<VNN2>\<filestream_share_name>
- 가용성 그룹 2의 경우.
이러한 VNN 범위 공유는 모든 보조 복제본(replica)에 전파됩니다.
FILESTREAM 또는 FileTable 데이터를 포함하는 데이터베이스가 Always On 가용성 그룹에 속할 때:
FILESTREAM 및 FileTable 함수가 컴퓨터 이름 대신 VNN(가상 네트워크 이름)을 사용하거나 반환합니다. 이러한 함수에 대한 자세한 내용은 Filestream 및 FileTable 함수(Transact-SQL)를 참조해 주세요.
파일 시스템 API를 통해서 FILESTREAM 또는 FileTable 데이터에 대한 모든 액세스에는 컴퓨터 이름 대신에 VNN을 사용해야만 합니다.
데이터베이스가 가용성 그룹에 속할 때, 애플리케이션이\\<computer_name>\<filestream_share_name>
컴퓨터 이름을 사용하여 공유에 액세스하려고 하는 경우 오류가 발생합니다.
데이터베이스가 가용성 그룹에 속하지 않을 때, 애플리케이션이 VNN 범위 경로를 사용하여 공유에 액세스하려고 하는 경우 요청은 성공할 수 있습니다. 이 경우에 있어서, 가상 네트워크 이름은 컴퓨터 이름으로 확인됩니다. 그러나 가용성 그룹을 삭제하는 경우 VNN 범위 경로의 작동이 중지되므로 이 사용은 강력하게 권장하지 않습니다.