Error 17053 타사 네트워크 장치의 SMB 파일 공유 오류
- Version : SQL Server 2012, 2014
SQL Server 2012부터는 추적플래그를 사용하지 않고 원격 SMB 파일 공유에 데이터베이스를 생성하여 운용할 수 있다. SQL Server는 데이터베이스에 대한 SMB 파일 공유를 사용 하도록 클러스터를 구성할 수 있다.
- SMB 파일 공유와 함께 저장소로 SQL Server 설치 옵션
https://msdn.microsoft.com/ko-kr/library/hh759341(v=sql.120).aspx
데이터 로그 파일을 생성하거나 열 때 SQL Server는 다양한 파일 조작 API를 호출한다. Win32 API는 DeviceIoControl을 호출하여 장치 드라이버에 대한 다양한 작업명령을 보낼 수 있다.
최근 SMB 공유에 원격으로 모든 데이터베이스를 저장하도록 구성하였는데 수행 할 때마다 다음과 같은 오류를 수신하였다.
- SQL Server 다시 시작
- 새 데이터베이스 생성
- 온라인 데이터베이스 마킹
2015-06-04 13:14:19.97 spid9s Error: 17053, Severity: 16, State: 1. |
디버깅을 통해 확인한 결과 SQL Server는 DeviceIoControl이 장치 제어코드 FSCTL_FILESYSTEM_GET_STATISTICS를 사용하여 데이터를 열거나 로그파일에 대해서 호출한다. 그러나 서드파티의 특정 디바이스 드라이버는 제어코드 FSCTL_FILESYSTEM_GET_STATISTICS를 지원하지 않기 때문에 오류가 발생하였다. 윈도우 파일 공유가 아닌 서드파티 공급업체의 SMB 공유를 사용하기 위해서는 스토리지 공급업체에 확인 해야 한다.
[참고자료]
- DeviceIoControl API
https://msdn.microsoft.com/en-us/library/windows/desktop/aa363216(v=vs.85).aspx
- Device code FSCTL_FILESYSTEM_GET_STATISTICS
https://msdn.microsoft.com/en-us/library/windows/desktop/aa364565(v=vs.85).aspx
- SQL Server support of SMB file share
https://msdn.microsoft.com/en-us/library/hh759341(v=sql.120).aspx
- Error 17053 when using third party network storage device / SMB file share
강성욱 / jevida@naver.com
Microsoft SQL Server MVP
Blog : http://sqlmvp.kr
Facebook : http://facebook.com/sqlmvp