SMB 파일 공유 저장소를 사용하여 SQL Server 설치Install SQL Server with SMB fileshare storage

SQL Server 2012SQL Server 2012부터 시작해서 시스템 데이터베이스(Master, Model, MSDB 및 TempDB) 및 데이터베이스 엔진Database Engine 사용자 데이터베이스를 SMB(서버 메시지 블록) 파일 서버와 함께 저장소 옵션으로 설치할 수 있습니다.Starting with SQL Server 2012SQL Server 2012, system databases (Master, Model, MSDB, and TempDB), and 데이터베이스 엔진Database Engine user databases can be installed with Server Message Block (SMB) file server as a storage option. 이는 SQL ServerSQL Server 독립 실행형 설치와 SQL ServerSQL Server FCI(장애 조치(Failover) 클러스터 설치) 모두에 적용됩니다.This applies to both SQL ServerSQL Server stand-alone and SQL ServerSQL Server failover cluster installations (FCI).

참고

Filestream이 현재 SMB 파일 공유에서 지원되지 않습니다.Filestream is currently not supported on an SMB file share.

설치 고려 사항Installation considerations

SMB 파일 공유 형식:SMB fileshare formats:

SMB 파일 공유를 지정할 때 독립 실행형 및 FCI 데이터베이스에 대해 지원되는 UNC(Universal Naming Convention) 경로 형식은 다음과 같습니다.While specifying the SMB file share, the following are supported Universal Naming Convention (UNC) Path formats for standalone and FCI databases:

  • \\ServerName\ShareName\\\ServerName\ShareName\

  • \\ServerName\ShareName\\ServerName\ShareName

    범용 명명 규칙에 대한 자세한 내용은 UNC를 참조하세요.For more information about Universal Naming Convention, see UNC.

    루프백 UNC 경로(서버 이름이 localhost, 127.0.0.1또는 로컬 컴퓨터 이름인 UNC 경로)는 지원되지 않습니다.The loopback UNC path (a UNC path whose server name is localhost, 127.0.0.1, or the local machine name) is not supported. 특별한 경우이기는 하지만 같은 노드 SQL ServerSQL Server 에서 호스팅되는 파일 서버 클러스터를 사용한 SQL ServerSQL Server 실행도 지원되지 않습니다.As a special case, SQL ServerSQL Server using File Server Cluster which is hosted on the same node SQL ServerSQL Server is running is also not supported. 이러한 상황이 발생하지 않게 하려면 SQL ServerSQL Server 와 파일 서버 클러스터를 별도의 Windows 클러스터에 만드는 것이 좋습니다.To prevent this situation, it is recommended that SQL ServerSQL Server and File Server Cluster to be created on separated Windows Clusters.

    아래 UNC 경로 형식은 지원되지 않습니다.The below UNC path formats are not supported:

  • 루프백 경로( \\localhost\..\ 또는 \\127.0.0.1\...)Loopback path, e.g., \\localhost\..\ or \\127.0.0.1\...\

  • 관리 공유(예: \\servername\x$)Administrative shares, e.g., \\servername\x$

  • \\?\x:\ 등의 기타 UNC 경로Other UNC path formats like \\?\x:\

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

지원되는 DDL(데이터 정의 언어) 문Supported data definition language (DDL) statements

다음 Transact-SQLTransact-SQL DDL 문과 데이터베이스 엔진 저장 프로시저는 SMB 파일 공유를 지원합니다.The following Transact-SQLTransact-SQL DDL statements and database engine stored procedures support SMB file shares:

  1. CREATE DATABASE(SQL Server Transact-SQL)CREATE DATABASE (SQL Server Transact-SQL)

  2. ALTER DATABASE(Transact-SQL)ALTER DATABASE (Transact-SQL)

  3. RESTORE(Transact-SQL)RESTORE (Transact-SQL)

  4. BACKUP(Transact-SQL)BACKUP (Transact-SQL)

설치 옵션Installation options

  • 설치 UI "데이터베이스 엔진 구성" 페이지의 "데이터 디렉터리" 탭에서 "데이터 루트 디렉터리" 매개 변수를 "\\fileserver1\share1"로 설정합니다.In setup UI “Database Engine Configuration” page, “Data Directories” tab, set the parameter “Data root directory as “\\fileserver1\share1\”.

  • 명령 프롬프트 설치에서 "/INSTALLSQLDATADIR"을 "\\fileserver1\share1"로 지정합니다.In command prompt installation, specify the “/INSTALLSQLDATADIR” as “\\fileserver1\share1\”.

    다음은 SMB 파일 공유 옵션을 사용하여 독립 실행형 서버에서 SQL ServerSQL Server 를 설치하는 예제 구문입니다.Here is the sample syntax to install SQL ServerSQL Server on a Standalone server using SMB file share option:

    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 ServerSQL Server데이터베이스 엔진Database Engine 와 함께 기본 인스턴스로 단일 노드 Analysis ServicesAnalysis Services장애 조치(Failover) 클러스터 인스턴스를 설치합니다.To install a single-node SQL ServerSQL Server failover cluster instance with the 데이터베이스 엔진Database Engine and Analysis ServicesAnalysis Services, default instance:

    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 2017SQL Server 2017의 다양한 명령줄 매개 변수 옵션의 사용법에 대한 자세한 내용은 명령 프롬프트에서 SQL Server 2016 설치를 참조하세요.For more information about the usage of various command line parameter options in SQL Server 2017SQL Server 2017, see Install SQL Server 2016 from the Command Prompt.

운영 체제 고려 사항(SMB 프로토콜 대 SQL ServerSQL Server)Operating system considerations (SMB Protocol vs. SQL ServerSQL Server)

Windows 운영 체제마다 포함되어 있는 SMB 프로토콜 버전이 다르며 SMB 프로토콜 버전은 SQL ServerSQL Server에 투명합니다.Different Windows operating systems has different SMB protocol versions, and the SMB protocol version is transparent to SQL ServerSQL Server. SQL Server 2017SQL Server 2017와 관련하여 다른 SMB 프로토콜 버전의 이점을 찾을 수 있습니다.You can find the benefits of different SMB protocol versions with respect to SQL Server 2017SQL Server 2017.

운영 체제Operating System SMB2 프로토콜 버전SMB2 protocol version 이점 - SQL ServerSQL ServerBenefits to SQL ServerSQL Server
Windows Server 2008Windows Server 2008 SP 2 SP 2 2.02.0 이전 SMB 버전보다 성능이 향상되었습니다.Improved performance over previous SMB versions.

내구성. 일시적인 네트워크 결함을 복구하는 데 도움이 됩니다.Durability, which helps recover from temporary network glitches.
Windows Server 2008 R2Windows Server 2008 R2 SP 1(Server Core 포함) SP 1, including Server Core 2.12.1 대형 MTU 지원. SQL 백업 및 복원과 같은 대량 데이터 전송에 유용합니다.Support for large MTU, which benefits large data transfers, such as SQL backup and restore. 이 기능은 사용자가 사용하도록 설정해야 합니다.This capability must be enabled by user. 이 기능을 사용하도록 설정하는 방법은 SMB의 새로운 기능 (http://go.microsoft.com/fwlink/?LinkID=237319)을 참조하세요.For more details on how to enable this capability, see What’s New in SMB (http://go.microsoft.com/fwlink/?LinkID=237319).

크게 향상된 성능(특히 SQL OLTP 스타일 작업의 경우)Significant performance improvements, specifically for SQL OLTP style workloads. 이러한 향상된 성능을 활용하려면 핫픽스를 적용해야 합니다.These performance improvements require applying a hotfix. 핫픽스에 대한 자세한 내용은 여기 (http://go.microsoft.com/fwlink/?LinkId=237320)를 참조하세요.For more information on the hotfix, see this (http://go.microsoft.com/fwlink/?LinkId=237320).
Windows Server 2012Windows Server 2012(Server Core 포함), including Server Core 3.03.0 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입이 없고 작동 중단 시간이 없는 파일 공유의 투명한 장애 조치(failover) 지원Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

여러 네트워크 인터페이스를 동시에 사용할 뿐 아니라 네트워크 인터페이스 오류에 대한 허용 오차를 사용하는 IO 지원Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure.

RDMA 기능을 사용하는 네트워크 인터페이스 지원Support for network interfaces with RDMA capabilities.

이러한 기능 및 서버 메시지 블록에 대한 자세한 내용은 서버 메시지 블록 개요 (http://go.microsoft.com/fwlink/?LinkId=253174)를 참조하세요.For more information on these features and Server Message Block, see Server Message Block overview (http://go.microsoft.com/fwlink/?LinkId=253174).

지속적인 가용성과 함께 SoFS(Scale Out File Server) 지원.Support for Scale Out File Server (SoFS) with continuous availability.
Windows Server 2012Windows Server 2012 R2(Server Core 포함) R2, including Server Core 3.23.2 파일 서버 클러스터 구성에서 SQL DBA 또는 파일 서버 관리자에게 필요한 관리자 개입이 없고 작동 중단 시간이 없는 파일 공유의 투명한 장애 조치(failover) 지원Support for transparent failover of file shares providing zero downtime with no administrator intervention required for SQL DBA or file server administrator in file server cluster configurations.

SMB 다중 채널을 사용해서 여러 네트워크 인터페이스를 동시에 사용할 뿐 아니라 네트워크 인터페이스 오류에 대한 허용 오차를 사용하는 IO 지원Support for IO using multiple network interfaces simultaneously, as well as tolerance to network interface failure, using SMB Multichannel.

SMB 다이렉트를 사용하여 RDMA 기능을 사용하는 네트워크 인터페이스 지원Support for network interfaces with RDMA capabilities using SMB Direct.

이러한 기능 및 서버 메시지 블록에 대한 자세한 내용은 서버 메시지 블록 개요 (http://go.microsoft.com/fwlink/?LinkId=253174)를 참조하세요.For more information on these features and Server Message Block, see Server Message Block overview (http://go.microsoft.com/fwlink/?LinkId=253174).

지속적인 가용성과 함께 SoFS(Scale Out File Server) 지원.Support for Scale Out File Server (SoFS) with continuous availability.

SQL ServerSQL Server OLTP에 일반적인 작은 임의 읽기/쓰기 I/O에 최적화됨.Optimized for small random read/write I/O common to SQL ServerSQL Server OLTP.

MTU(최대 전송 단위)는 기본적으로 설정되어 있으며, SQL ServerSQL Server 데이터 웨어하우스 및 데이터베이스 백업 또는 복원과 같은 대규모 순차적 전송에서 성능을 크게 향상시켜 줍니다.Maximum Transmission Unit (MTU) is turned on by default, which significantly enhances performance in large sequential transfers like SQL ServerSQL Server data warehouse and database backup or restore.

보안 고려 사항Security considerations

  • SQL ServerSQL Server 서비스 계정과 SQL ServerSQL Server 에이전트 서비스 계정은 SMB 공유 폴더에 대해 FULL CONTROL 공유 권한 및 NTFS 권한이 있어야 합니다.The SQL ServerSQL Server service account and SQL ServerSQL Server agent service account should have FULL CONTROL share permissions and NTFS permissions on the SMB share folders. SMB 파일 서버가 사용되는 경우 SQL ServerSQL Server 서비스 계정은 도메인 계정 또는 시스템 계정일 수 있습니다.The SQL ServerSQL Server service account can be a domain account or a system account if an SMB file server is used. 공유 및 NTFS 권한에 대한 자세한 내용은 파일 서버의 공유 및 NTFS 권한 (http://go.microsoft.com/fwlink/?LinkId=245535)을 참조하세요.For more information about share and NTFS permissions, see Share and NTFS Permissions on a File Server (http://go.microsoft.com/fwlink/?LinkId=245535).

    참고

    SMB 공유 폴더에 대한 FULL CONTROL 공유 권한 및 NTFS 권한은 SQL ServerSQL Server 서비스 계정, SQL ServerSQL Server 에이전트 서비스 계정 및 관리자 서버 역할이 할당된 Windows 사용자에게만 부여되어야 합니다.The FULL CONTROL share permissions and NTFS permissions on the SMB share folders should be restricted to: SQL ServerSQL Server service account, SQL ServerSQL Server Agent service account and windows users with admin server roles.

    도메인 계정을 SQL ServerSQL Server 서비스 계정으로 사용하는 것이 좋습니다.It is recommended to use domain account as a SQL ServerSQL Server service account. 시스템 계정을 서비스 계정으로 사용하는 경우에는 <domain_name>\<computer_name>*$* 형식으로 컴퓨터 계정에 대한 사용 권한을 부여해야 합니다.If system account is used as a service account, grant the permissions for the machine account in the format: <domain_name>\<computer_name>*$*.

    참고

    SQL ServerSQL Server를 설치할 때 SMB 파일 공유를 저장소 옵션으로 지정하는 경우 도메인 계정을 서비스 계정으로 지정해야 합니다.During SQL ServerSQL Server setup, it is required to specify domain account as a service account if SMB file share is specified as a storage option. SMB 파일 공유를 사용하는 경우 시스템 계정은 서비스 계정 게시 SQL ServerSQL Server 설치로만 지정할 수 있습니다.With SMB file share, System account can only be specified as a service account post SQL ServerSQL Server installation.

    가상 계정은 원격 위치에 대해 인증할 수 없습니다.Virtual accounts cannot be authenticated to a remote location. 모든 가상 계정에는 시스템 계정의 사용 권한이 사용됩니다.All virtual accounts use the permission of machine account. <domain_name>\<computer_name>*$* 형식으로 컴퓨터 계정을 프로비전합니다.Provision the machine account in the format <domain_name>\<computer_name>*$*.

  • SQL ServerSQL Server 설치에 사용되는 계정에는 클러스터를 설치하는 동안 데이터 디렉터리로 사용되는 SMB 파일 공유 폴더 또는 다른 데이터 폴더(사용자 데이터베이스 디렉터리, 사용자 데이터베이스 로그 디렉터리, TempDB 디렉터리, TempDB 로그 디렉터리, 백업 디렉터리)에 대해 FULL CONTROL NTFS 권한이 있어야 합니다.The account used to install SQL ServerSQL Server should have FULL CONTROL permissions on the SMB file share folder used as the data directory, or any other data folders (User database directory, user database log directory, TempDB directory, TempDB log directory, backup directory) during Cluster Setup.

  • SQL ServerSQL Server 설치에 사용되는 계정에는 SMB 파일 서버에 대한 SeSecurityPrivilege 권한이 부여되어야 합니다.The account used to install SQL ServerSQL Server should be granted SeSecurityPrivilege privileges on the SMB file server. 이 권한을 부여하려면 파일 서버의 로컬 보안 정책 콘솔을 사용하여 SQL ServerSQL Server 설치 계정을 감사 및 보안 로그 관리 정책에 추가합니다.To grant this privilege, use the Local Security Policy console on the file server to add the SQL ServerSQL Server setup account to the Manage auditing and security log policy. 이 설정은 로컬 보안 정책 콘솔의 로컬 정책에 있는 사용자 권한 할당 섹션에서 사용할 수 있습니다.This setting is available in the User Rights Assignments section under Local Policies in the Local Security Policy console.

알려진 문제Known issues

  • 네트워크로 연결된 저장소에 있는 SQL Server 2017SQL Server 2017 데이터베이스를 분리한 후 SQL ServerSQL Server 데이터베이스를 다시 연결하려고 시도하는 동안 데이터베이스 권한 문제가 발생할 수 있습니다.After you detach a SQL Server 2017SQL Server 2017 database that resides on network-attached storage, you might run into database permission issue while trying to reattach the SQL ServerSQL Server database. 이 문제는 KB 문서 (http://go.microsoft.com/fwlink/?LinkId=237321)에 정의되어 있습니다.The issue is defined in this KB article (http://go.microsoft.com/fwlink/?LinkId=237321). 이 문제를 해결하려면 KB 문서의 자세한 정보 섹션을 참조하십시오.To work around this issue, see the More Information section in the KB article.

  • SMB 파일 공유가 SQL ServerSQL Server의 클러스터형 인스턴스에 대한 저장소 옵션으로 사용되는 경우, SQL ServerSQL Server 리소스 DLL에는 파일 공유에 대한 읽기/쓰기 권한이 부족하기 때문에 기본적으로 SQL ServerSQL Server 장애 조치(failover) 클러스터 진단 로그에서 파일 공유에 쓸 수 없습니다.If SMB file share is used as a storage option for a clustered instance of SQL ServerSQL Server, by default the SQL ServerSQL Server Failover Cluster Diagnostics Log cannot be written to the file share because SQL ServerSQL Server Resource DLL lacks the read/write permission on the file share. 이 문제를 해결하려면 다음 방법 중 하나를 사용하십시오.To resolve this issue, try one of the following methods:

    1. 클러스터의 모든 컴퓨터 개체에 파일 공유에 대한 읽기/쓰기 권한을 부여합니다.Grant read/write permissions on the file share to all computer objects in the cluster.

    2. 진단 로그의 위치를 로컬 파일 경로로 설정합니다.Set the location of the diagnostic logs to a local file path. 다음 예제를 참조하십시오.See the following example:

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

참고 항목See also

SQL Server 설치 계획 Planning a SQL Server Installation
Windows 서비스 계정 및 권한 구성Configure Windows Service Accounts and Permissions