SMB 파일 공유 스토리지를 사용하여 SQL Server 설치

적용 대상:SQL Server - Windows 한정

SQL Server 2012(11.x)부터 시스템 데이터베이스(master, model, msdb, tempdb) 및 데이터베이스 엔진 사용자 데이터베이스를 SMB(서버 메시지 블록) 파일 서버와 함께 스토리지 옵션으로 설치할 수 있습니다. 이는 SQL Server 독립 실행형 설치와 SQL Server FCI(장애 조치(Failover) 클러스터 설치) 모두에 적용됩니다.

참고

Filestream이 현재 SMB 파일 공유에서 지원되지 않습니다.

설치 고려 사항

SMB 파일 공유 형식:

SMB 파일 공유를 지정할 때 독립 실행형 및 FCI 데이터베이스에 대해 지원되는 UNC(Universal Naming Convention) 경로 형식은 다음과 같습니다.

  • \\ServerName\ShareName\

  • \\ServerName\ShareName

범용 명명 규칙에 대한 자세한 내용은 UNC를 참조하세요.

루프백 UNC 경로(서버 이름이 localhost, 127.0.0.1또는 로컬 컴퓨터 이름인 UNC 경로)는 지원되지 않습니다. 특별한 경우이기는 하지만 같은 노드 SQL Server 에서 호스팅되는 파일 서버 클러스터를 사용한 SQL Server 실행도 지원되지 않습니다. 이러한 상황이 발생하지 않게 하려면 SQL Server 와 파일 서버 클러스터를 별도의 Windows 클러스터에 만드는 것이 좋습니다.

다음 UNC 경로 형식은 지원되지 않습니다.

  • 루프백 경로(예: \\localhost\...\ 또는 \\127.0.0.1\...\)

  • 관리 공유(예: \\servername\x$)

  • 기타 UNC 경로 형식(예: \\?\x:\)

  • 연결된 네트워크 드라이브

지원되는 DDL(데이터 정의 언어) 문

다음 Transact-SQL DDL 문과 데이터베이스 엔진 저장 프로시저는 SMB 파일 공유를 지원합니다.

  1. CREATE DATABASE(SQL Server Transact-SQL)

  2. ALTER DATABASE(Transact-SQL)

  3. RESTORE(Transact-SQL)

  4. BACKUP(Transact-SQL)

설치 옵션

  • 설치 UI "데이터베이스 엔진 구성" 페이지의 "데이터 디렉터리" 탭에서 "데이터 루트 디렉터리" 매개 변수를 "\\fileserver1\share1"로 설정합니다.

  • 명령 프롬프트 설치에서 "/INSTALLSQLDATADIR"을 "\\fileserver1\share1"로 지정합니다.

    다음은 SMB 파일 공유 옵션을 사용하여 독립 실행형 서버에서 SQL Server 를 설치하는 예제 구문입니다.

    Setup.exe /q /ACTION=Install /FEATURES=SQL /INSTANCENAME=MSSQLSERVER /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="<StrongPassword>" /SQLSYSADMINACCOUNTS="<DomainName\UserName>" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="<StrongPassword>" /INSTALLSQLDATADIR="\\FileServer\Share1\" /IACCEPTSQLSERVERLICENSETERMS  
    

    SQL Server 2022(16.x)부터 aka.ms/useterms에 있는 Microsoft SQL Server Software 사용 조건을 읽어 보세요.

    SQL Server 및 데이터베이스 엔진 와 함께 기본 인스턴스로 단일 노드 Analysis Services장애 조치(Failover) 클러스터 인스턴스를 설치합니다.

    setup.exe /q /ACTION=InstallFailoverCluster /InstanceName=MSSQLSERVER /INDICATEPROGRESS /ASSYSADMINACCOUNTS="<DomainName\UserName>" /ASDATADIR=<Drive>:\OLAP\Data /ASLOGDIR=<Drive>:\OLAP\Log /ASBACKUPDIR=<Drive>:\OLAP\Backup /ASCONFIGDIR=<Drive>:\OLAP\Config /ASTEMPDIR=<Drive>:\OLAP\Temp /FAILOVERCLUSTERDISKS="<Cluster Disk Resource Name - for example, 'Disk S:'" /FAILOVERCLUSTERNETWORKNAME="<Insert Network Name>" /FAILOVERCLUSTERIPADDRESSES="IPv4;xx.xxx.xx.xx;Cluster Network;xxx.xxx.xxx.x" /FAILOVERCLUSTERGROUP="MSSQLSERVER" /Features=AS,SQL /ASSVCACCOUNT="<DomainName\UserName>" /ASSVCPASSWORD="xxxxxxxxxxx" /AGTSVCACCOUNT="<DomainName\UserName>" /AGTSVCPASSWORD="xxxxxxxxxxx" /INSTALLSQLDATADIR="\\FileServer\Share1\" /SQLCOLLATION="SQL_Latin1_General_CP1_CS_AS" /SQLSVCACCOUNT="<DomainName\UserName>" /SQLSVCPASSWORD="xxxxxxxxxxx" /SQLSYSADMINACCOUNTS="<DomainName\UserName> /IACCEPTSQLSERVERLICENSETERMS  
    

    SQL Server의 다양한 명령줄 매개 변수 옵션의 사용법에 대한 자세한 내용은 명령 프롬프트에서 SQL Server 2016 설치를 참조하세요.

운영 체제 고려 사항(SMB 프로토콜 대 SQL Server)

Windows 운영 체제마다 포함되어 있는 SMB 프로토콜 버전이 다르며 SMB 프로토콜 버전은 SQL Server에 투명합니다. SQL Server와 관련하여 다른 SMB 프로토콜 버전의 이점을 찾을 수 있습니다.

운영 체제 SMB2 프로토콜 버전 이점 - SQL Server
Windows Server 2008 SP 2 2.0 이전 SMB 버전보다 성능이 향상되었습니다.

내구성. 일시적인 네트워크 결함을 복구하는 데 도움이 됩니다.
Windows Server 2008 R2 SP 1(Server Core 포함) 2.1 대형 MTU 지원. SQL 백업 및 복원과 같은 대량 데이터 전송에 유용합니다. 이 기능은 사용자가 사용하도록 설정해야 합니다. 이 기능 사용에 대한 자세한 내용은 SMB의 새로운 기능(https://go.microsoft.com/fwlink/?LinkID=237319)을 참조하세요.

크게 향상된 성능(특히 SQL OLTP 스타일 작업의 경우) 이러한 향상된 성능을 활용하려면 핫픽스를 적용해야 합니다. 핫픽스에 대한 자세한 내용은 이 항목(https://mskb.pkisolutions.com/kb/2536493)을 참조하세요.
Windows Server 2012(Server Core 포함) 3.0 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입이 없고 작동 중단 시간이 없는 파일 공유의 투명한 장애 조치(failover) 지원

여러 네트워크 인터페이스를 동시에 사용할 뿐 아니라 네트워크 인터페이스 오류에 대한 허용 오차를 사용하는 IO 지원

RDMA 기능을 사용하는 네트워크 인터페이스 지원

이러한 기능 및 서버 메시지 블록에 대한 자세한 내용은 서버 메시지 블록 개요(https://go.microsoft.com/fwlink/?LinkId=253174)를 참조하세요.

지속적인 가용성과 함께 SoFS(Scale Out File Server) 지원.
Windows Server 2012 R2(Server Core 포함) 3.2 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입이 없고 작동 중단 시간이 없는 파일 공유의 투명한 장애 조치(failover) 지원

SMB 다중 채널을 사용해서 여러 네트워크 인터페이스를 동시에 사용할 뿐 아니라 네트워크 인터페이스 오류에 대한 허용 오차를 사용하는 IO 지원

SMB 다이렉트를 사용하여 RDMA 기능을 사용하는 네트워크 인터페이스 지원

이러한 기능 및 서버 메시지 블록에 대한 자세한 내용은 서버 메시지 블록 개요(https://go.microsoft.com/fwlink/?LinkId=253174)를 참조하세요.

지속적인 가용성과 함께 SoFS(Scale Out File Server) 지원.

SQL Server OLTP에 일반적인 작은 임의 읽기/쓰기 I/O에 최적화됨.

MTU(최대 전송 단위)는 기본적으로 설정되어 있으며, SQL Server 데이터 웨어하우스 및 데이터베이스 백업 또는 복원과 같은 대규모 순차적 전송에서 성능을 크게 향상시켜 줍니다.

보안 고려 사항

  • SQL Server 서비스 계정과 SQL Server 에이전트 서비스 계정은 SMB 공유 폴더에 대해 FULL CONTROL 공유 권한 및 NTFS 권한이 있어야 합니다. SMB 파일 서버가 사용되는 경우 SQL Server 서비스 계정은 도메인 계정 또는 시스템 계정일 수 있습니다. 공유 및 NTFS 권한에 대한 자세한 내용은 파일 서버의 공유 및 NTFS 권한(https://go.microsoft.com/fwlink/?LinkId=245535)을 참조하세요.

    참고

    SMB 공유 폴더에 대한 FULL CONTROL 공유 권한 및 NTFS 권한은 SQL Server 서비스 계정, SQL Server 에이전트 서비스 계정 및 관리자 서버 역할이 할당된 Windows 사용자에게만 부여되어야 합니다.

    도메인 계정을 SQL Server 서비스 계정으로 사용하는 것이 좋습니다. 시스템 계정을 서비스 계정으로 사용하는 경우에는 <domain_name>\<computer_name>*$* 형식으로 컴퓨터 계정에 대한 사용 권한을 부여해야 합니다.

    참고

    SQL Server 를 설치할 때 SMB 파일 공유를 스토리지 옵션으로 지정하는 경우 도메인 계정을 서비스 계정으로 지정해야 합니다. SMB 파일 공유를 사용하는 경우 시스템 계정은 서비스 계정 게시 SQL Server 설치로만 지정할 수 있습니다.

    가상 계정은 원격 위치에 대해 인증할 수 없습니다. 모든 가상 계정에는 시스템 계정의 사용 권한이 사용됩니다. <domain_name>\<computer_name>*$* 형식으로 컴퓨터 계정을 프로비전합니다.

  • SQL Server 설치에 사용되는 계정에는 클러스터를 설치하는 동안 데이터 디렉터리로 사용되는 SMB 파일 공유 폴더 또는 기타 데이터 폴더(사용자 데이터베이스 디렉터리, 사용자 데이터베이스 로그 디렉터리, tembdb 디렉터리, tempdb 로그 디렉터리, 백업 디렉터리)에 대한 모든 권한이 있어야 합니다.

  • SQL Server 설치에 사용되는 계정에는 SMB 파일 서버에 대한 SeSecurityPrivilege 권한이 부여되어야 합니다. 이 권한을 부여하려면 파일 서버의 로컬 보안 정책 콘솔을 사용하여 SQL Server 설치 계정을 감사 및 보안 로그 관리 정책에 추가합니다. 이 설정은 로컬 보안 정책 콘솔의 로컬 정책에 있는 사용자 권한 할당 섹션에서 사용할 수 있습니다.

알려진 문제 및 제한 사항

  • 네트워크로 연결된 스토리지에 있는 SQL Server 데이터베이스를 분리한 후 SQL Server 데이터베이스를 다시 연결하려고 시도하는 동안 데이터베이스 권한 문제가 발생할 수 있습니다. 자세한 내용은 오류 5120을 참조하세요.

  • SMB 파일 공유가 SQL Server의 클러스터형 인스턴스에 대한 스토리지 옵션으로 사용되는 경우, SQL Server 리소스 DLL에는 파일 공유에 대한 읽기/쓰기 권한이 부족하기 때문에 기본적으로 SQL Server 장애 조치(failover) 클러스터 진단 로그에서 파일 공유에 쓸 수 없습니다. 이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.

    1. 클러스터의 모든 컴퓨터 개체에 파일 공유에 대한 읽기/쓰기 권한을 부여합니다.

    2. 진단 로그의 위치를 로컬 파일 경로로 설정합니다. 다음 예제를 참조하십시오.

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      
  • SMB 파일 공유에서 SQL Server 데이터 파일을 호스트하는 경우, 파일에 대한 모든 I/O는 서버 또는 가상 머신의 네트워크 인터페이스를 통과합니다. 워크로드에 필요한 I/O를 지원하기에 충분한 네트워크 대역폭이 있는지 확인합니다.

  • 네트워크 연결 문제나 기타 오류로 인해 SQL Server 데이터 파일을 호스트하는 파일 공유를 사용할 수 없는 경우, SQL Server에서 I/O 지연 또는 오류가 발생할 수 있습니다. 중요 업무용 워크로드의 경우, 네트워크 및 파일 공유에 중복성이 기본 제공되고 파일 공유가 지속적인 가용성이라고도 하는 SMB 3.0 투명 장애 조치(failover)를 지원하는지 확인합니다.

참고 항목

SQL Server 설치 계획
Windows 서비스 계정 및 권한 구성