다음을 통해 공유


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

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

비고

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

설치 고려 사항

SMB 파일 공유 형식:

SMB 파일 공유를 지정하는 동안 독립 실행형 및 FCI 데이터베이스에 대해 지원되는 UNC(범용 명명 규칙) 경로 형식은 다음과 같습니다.

  • \\ServerName\ShareName\

  • \\ServerName\ShareName

범용 명명 규칙에 대한 자세한 내용은 UNC (https://go.microsoft.com/fwlink/?LinkId=245534)를 참조하세요.

루프백 UNC 경로(서버 이름이 localhost, 127.0.0.1 또는 로컬 컴퓨터 이름인 UNC 경로)는 지원되지 않습니다. 특히 SQL Server가 실행 중인 동일한 노드에서 호스트되는 파일 서버 클러스터를 사용하는 SQL Server도 지원되지 않습니다. 이러한 상황을 방지하려면 분리된 Windows 클러스터에 SQL Server 및 파일 서버 클러스터를 만드는 것이 좋습니다.

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

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

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

  • \\?\x:\와 같은 기타 UNC 경로 형식

  • 매핑된 네트워크 드라이브.

지원되는 데이터 정의 언어(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)

  5. sp_attach_db(Transact-SQL)

  6. sp_attach_single_file_db(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 데이터베이스 엔진 및 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 2014의 다양한 명령줄 매개 변수 옵션 사용에 대한 자세한 내용은 명령 프롬프트에서 SQL Server 2014 설치를 참조하세요.

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

다른 Windows 운영 체제에는 서로 다른 SMB 프로토콜 버전이 있으며 SMB 프로토콜 버전은 SQL Server에 투명합니다. SQL Server 2014와 관련하여 다양한 SMB 프로토콜 버전의 이점을 찾을 수 있습니다.

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

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

특히 SQL OLTP 스타일 워크로드의 경우 성능이 크게 향상되었습니다. 이러한 성능 향상을 위해서는 핫픽스를 적용해야 합니다. 핫픽스에 대한 자세한 내용은 여기 (https://go.microsoft.com/fwlink/?LinkId=237320)를 참조하세요.
Server Core를 포함한 Windows Server 2012 3.0 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입 없이 가동 중지 시간을 0으로 제공하는 파일 공유의 투명한 장애 조치(failover)를 지원합니다.

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

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

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

지속적인 가용성과 함께 SoFS(Scale Out File Server) 지원.
Server Core를 포함한 Windows Server 2012 R2 3.2 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입 없이 가동 중지 시간을 0으로 제공하는 파일 공유의 투명한 장애 조치(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 권한에 대한 자세한 내용은 파일 서버(https://go.microsoft.com/fwlink/?LinkId=245535)에 대한 공유 및 NTFS 권한을 참조하세요.

    비고

    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 파일 공유 폴더 또는 다른 데이터 폴더(사용자 데이터베이스 디렉터리, 사용자 데이터베이스 로그 디렉터리, TempDB 디렉터리, TempDB 로그 디렉터리, 백업 디렉터리)에 대한 FULL CONTROL 권한이 있어야 합니다.

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

알려진 문제

  • 네트워크 연결 스토리지에 있는 SQL Server 2014 데이터베이스를 분리한 후 SQL Server 데이터베이스를 다시 연결하는 동안 데이터베이스 권한 문제가 발생할 수 있습니다. 이 문제는 이 KB 문서 (https://go.microsoft.com/fwlink/?LinkId=237321)에 정의되어 있습니다. 이 문제를 해결하려면 KB 문서의 추가 정보 섹션을 참조하세요.

  • NetApp 디바이스와 같은 일부 타사에서는 모든 SQL Server API 호출을 지원하지 않습니다. 이러한 항목을 사용하면 다음을 얻을 수 있습니다.
    2015-06-04 13:14:19.97 spid9s 오류: 17053, 심각도: 16, 상태: 1.
    2015-06-04 13:14:19.97 spid9s DoDevIoCtlOut() GetOverlappedResult() : 운영 체제 오류 1(잘못된 함수)이 발생했습니다.

    NTFS의 경우 오류는 무해합니다. 하지만 ReFS의 경우 성능이 크게 저하 될 수 있습니다.

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

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

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

      ALTER SERVER CONFIGURATION  
      SET DIAGNOSTICS LOG PATH = 'C:\logs';  
      

또한 참조하십시오

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