FILESTREAM 사용 및 구성Enable and configure FILESTREAM

FILESTREAM을 사용하려면 먼저 SQL Server 데이터베이스 엔진SQL Server Database Engine인스턴스에서 FILESTREAM을 사용하도록 설정해야 합니다.Before you can start to use FILESTREAM, you must enable FILESTREAM on the instance of the SQL Server 데이터베이스 엔진SQL Server Database Engine. 이 항목에서는 SQL Server 구성 관리자를 사용하여 FILESTREAM을 사용하도록 설정하는 방법에 대해 설명합니다.This topic describes how to enable FILESTREAM by using SQL Server Configuration Manager.

FILESTREAM 설정 Enabling FILESTREAM

FILESTREAM을 사용하도록 설정하고 해당 설정을 변경하려면To enable and change FILESTREAM settings

  1. 시작 메뉴에서 모든 프로그램, SQL Server 2017SQL Server 2017, 구성 도구를 차례로 가리킨 다음 SQL Server 구성 관리자를 클릭합니다.On the Start menu, point to All Programs, point to SQL Server 2017SQL Server 2017, point to Configuration Tools, and then click SQL Server Configuration Manager.

  2. 서비스 목록에서 SQL Server 서비스를 마우스 오른쪽 단추로 클릭한 다음 열기를 클릭합니다.In the list of services, right-click SQL Server Services, and then click Open.

  3. SQL Server 구성 관리자 스냅인에서 FILESTREAM을 사용할 SQL ServerSQL Server 인스턴스를 찾습니다.In the SQL Server Configuration Manager snap-in, locate the instance of SQL ServerSQL Server on which you want to enable FILESTREAM.

  4. 해당 인스턴스를 마우스 오른쪽 단추로 클릭한 다음 속성을 클릭합니다.Right-click the instance, and then click Properties.

  5. SQL Server 속성 대화 상자에서 FILESTREAM 탭을 클릭합니다.In the SQL Server Properties dialog box, click the FILESTREAM tab.

  6. Transact-SQL 액세스에 FILESTREAM 사용 확인란을 선택합니다.Select the Enable FILESTREAM for Transact-SQL access check box.

  7. Windows에서 FILESTREAM 데이터를 읽고 쓰려는 경우 파일 I/O 스트리밍 액세스에 FILESTREAM 사용을 클릭합니다.If you want to read and write FILESTREAM data from Windows, click Enable FILESTREAM for file I/O streaming access. Windows 공유 이름 상자에 Windows 공유의 이름을 입력합니다.Enter the name of the Windows share in the Windows Share Name box.

  8. 원격 클라이언트가 이 공유에 저장된 FILESTREAM 데이터에 액세스해야 하는 경우 원격 클라이언트가 FILESTREAM 데이터에 대한 스트리밍 액세스를 가질 수 있도록 허용을 선택합니다.If remote clients must access the FILESTREAM data that is stored on this share, select Allow remote clients to have streaming access to FILESTREAM data.

  9. 적용을 클릭합니다.Click Apply.

  10. SQL Server Management StudioSQL Server Management Studio에서 새 쿼리 를 클릭하여 쿼리 편집기를 표시합니다.In SQL Server Management StudioSQL Server Management Studio, click New Query to display the Query Editor.

  11. 쿼리 편집기에서 다음 Transact-SQLTransact-SQL 코드를 입력합니다.In Query Editor, enter the following Transact-SQLTransact-SQL code:

    EXEC sp_configure filestream_access_level, 2  
    RECONFIGURE  
    
  12. 실행을 클릭합니다.Click Execute.

  13. SQL ServerSQL Server 서비스를 다시 시작합니다.Restart the SQL ServerSQL Server service.

모범 사례 Best practices

물리적 구성 및 유지 관리 Physical configuration and maintenance

FILESTREAM 저장소 볼륨을 설정할 때 다음 지침을 고려하십시오.When you set up FILESTREAM storage volumes, consider the following guidelines:

  • FILESTREAM 컴퓨터 시스템에서 약식 파일 이름을 해제합니다.Turn off short file names on FILESTREAM computer systems. 약식 파일 이름은 생성하는 데 시간이 많이 소요됩니다.Short file names take significantly longer to create. 약식 파일 이름을 비활성화하려면 Windows fsutil 유틸리티를 사용합니다.To disable short file names, use the Windows fsutil utility.

  • 정기적으로 FILESTREAM 컴퓨터 시스템 조각 모음을 수행합니다.Regularly defragment FILESTREAM computer systems.

  • 64KB NTFS 클러스터를 사용합니다.Use 64-KB NTFS clusters. 압축된 볼륨은 4KB NTFS 클러스터로 설정해야 합니다.Compressed volumes must be set to 4-KB NTFS clusters.

  • FILESTREAM 볼륨에서 인덱싱을 해제하고 disablelastaccess를 설정합니다.Disable indexing on FILESTREAM volumes and set disablelastaccess. disablelastaccess를 설정하려면 Windows fsutil 유틸리티를 사용합니다.To set disablelastaccess, use the Windows fsutil utility.

  • FILESTREAM 볼륨에 대한 바이러스 검사가 필요 없을 때는 해제합니다.Disable antivirus scanning of FILESTREAM volumes when it is not necessary. 바이러스 검사가 필요한 경우, 잘못된 파일을 자동으로 삭제하는 정책을 설정하지 마십시오.If antivirus scanning is necessary, avoid setting policies that will automatically delete offending files.

  • 응용 프로그램에서 요구되는 내결함성 및 성능 RAID 수준을 설정하고 조절합니다.Set up and tune the RAID level for fault tolerance and the performance that is required by an application.

RAID 수준RAID level 쓰기 성능Write performance 읽기 성능Read performance 내결함성Fault tolerance 주의Remarks
RAID 5RAID 5 보통Normal 보통Normal 최고Excellent 성능은 하나의 디스크 또는 JBOD보다 우수하지만 RAID 0 또는 스트라이프를 사용하는 RAID 5보다 떨어집니다.Performance is better than one disk or JBOD; and less than RAID 0 or RAID 5 with striping.
RAID 0RAID 0 최고Excellent 최고Excellent 없음None
RAID 5 + 스트라이프RAID 5 + stripping 최고Excellent 최고Excellent 최고Excellent 가장 비용이 많이 드는 옵션입니다.Most expensive option.

물리적 데이터베이스 디자인 Physical database design

FILESTREAM 데이터베이스를 디자인할 때 다음 같은 지침을 고려하십시오.When you design a FILESTREAM database, consider the following guidelines:

  • FILESTREAM 열에는 해당하는 uniqueidentifierROWGUID 열이 수반되어야 합니다.FILESTREAM columns must be accompanied by a corresponding uniqueidentifierROWGUID column. 이러한 종류의 테이블에는 고유한 인덱스도 함께 나타나야 합니다.These kinds of tables must also be accompanied by a unique index. 일반적으로 이러한 인덱스는 클러스터형 인덱스가 아닙니다.Typically this index is not a clustered index. 데이터베이스 비즈니스 논리에 클러스터형 인덱스가 필요한 경우, 인덱스에 저장된 값이 임의의 값이 아니어야 합니다.If the databases business logic requires a clustered index, you have to make sure that the values stored in the index are not random. 임의의 값인 경우에는 테이블에서 행이 추가되거나 제거될 때마다 인덱스가 다시 정렬됩니다.Random values will cause the index to be reordered every time that a row is added or removed from the table.

  • 성능상의 이유로 FILESTREAM 파일 그룹 및 컨테이너는 운영 체제, SQL ServerSQL Server 데이터베이스, SQL ServerSQL Server 로그, tempdb 또는 페이징 파일 이외의 볼륨에 있어야 합니다.For performance reasons, FILESTREAM filegroups and containers should reside on volumes other than the operating system, SQL ServerSQL Server database, SQL ServerSQL Server log, tempdb, or paging file.

  • 공간 관리 및 정책은 FILESTREAM에서 직접적으로 지원되지 않습니다.Space management and policies are not directly supported by FILESTREAM. 하지만 각 FILESTREAM 파일 그룹을 개별 볼륨에 지정하고 볼륨의 관리 기능을 사용하는 방법을 통해 간접적으로 공간을 관리하고 정책을 적용할 수 있습니다.However, you can manage space and apply policies indirectly by assigning each FILESTREAM filegroup to a separate volume and using the volume's management features.