SMB fileshare 기능이 있는 SQL Server를 스토리지 옵션으로 설치

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

참고

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

설치 고려 사항

SMB 파일 공유 형식:

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

  • \\ServerName\ShareName\

  • \\ServerName\ShareName

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

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

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

  • 루프백 경로(예: \\localhost\..\ or \\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 프로토콜 및 SQL Server)

다른 Windows 운영 체제에는 서로 다른 SMB 프로토콜 버전이 있으며 SMB 프로토콜 버전은 SQL Server 투명합니다. SQL Server 2014와 관련하여 다양한 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://go.microsoft.com/fwlink/?LinkId=237320)을 참조하세요.
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_namecomputer_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 서비스 계정 및 권한 구성