Always On 가용성 그룹에 Microsoft SQL Server 2016 노드 쌍이 있습니다. BULK INSERT
Windows Server 2016 파일 서버 장애 조치 (Failover) 클러스터에있는 파일 에서 (SQL Server 2016 Management Studio 쿼리 사용) 을 수행하려고 하는데 다음 오류가 발생합니다.
메시지 4861, 수준 16, 상태 1
"\ nas2.my.domain \ Microsoft SQL Server 2016 Enterprise \ test.txt"파일을 열 수 없으므로 대량로드 할 수 없습니다. 운영 체제 오류 코드 5 (액세스가 거부되었습니다.).
활성 노드 이름 ( nas2.my.domain
) 또는 장애 조치 클러스터 리스너 ( nas.my.domain
)를 사용하는지 여부에 관계없이 발생 합니다 .
둘러 본 후 이것은 SQL Server가와의 뉘앙스로 인해 연결된 사용자 계정을 가장 할 수 없기 때문이라는 것을 알았습니다 BULK INSERT
.
Windows 인증을 사용하여 SQL Server에 연결하면 SQL Server 서비스 계정이 파일 서버에 연결할 때 사용자 계정을 가장하려고합니다. SQL Server 인증을 사용하여 연결하면 파일 서버에 SQL Server 서비스 계정으로 연결됩니다.
위임 및 가장이 제대로 구성되지 않은 경우 (기본 상태) SQL Server 서비스는 사용자 계정을 가장 할 수 없으며 익명 사용자로 파일 서버에 연결하려고합니다.
파일 서버의 보안 이벤트 로그를 통해 확인할 수 있습니다. 제한되지 않고 제한 위임을 구성하는 지침과 함께 이러한 사실은 다음 링크에 문서화되어 있습니다.
sqldude 의 가이드 의 지침을 따르 려고 했지만 여전히 작동하지 않습니다.
내가 시도하는 데이터베이스 BULK INSERT
는 가용성 그룹의 일부가 아니므로 MSSQL1 노드 만 관련되어야합니다. 파일 서버가 NAS2 노드에서 활성화되었습니다. 파일 서버에서 이벤트 로그를 확인하면 여전히이 문제가 발생하고 있으며 SQL Server가 내 사용자 계정을 가장하는 대신 익명 사용자로 파일 서버를 인증하려고 시도하고 있음을 나타냅니다.
아무도 무엇이 잘못되고 있는지 알고 있습니까? 또는이 가이드를 더 이상 사용하지 않기 위해 SQL Server 2016에서 변경된 사항이 있습니까?
- 파일 서버 보안 이벤트 로그 항목
- 서비스 계정 위임
- 서비스 계정 SPN
- SQL Server # 1 컴퓨터 계정 위임
- 파일 서버 # 2 컴퓨터 계정 SPN
- 그룹 정책 개체
sys.dm_exec_connections
-Kerberos
이 GPO가를 통해 MSSQL1에 적용되었음을 확인할 수 있으며 gpresult.exe /R
, 캐시가 플러시되도록 SQL 및 파일 서버 노드가 모두 재부팅되었습니다.