증상
사용자가 다음을 시도 하는 경우 Microsoft SQL Server 2016 및 2017 시작 시작 하기 전에 데이터베이스에 연결 하기 위해 사용자 세션에서 다음을 수행 하면 데이터베이스가 자동으로 시작 됩니다. 데이터베이스에 다음이 포함 된 경우이 문제가 발생 합니다. FileTable 및 FILESTREAM non_transacted_access 사용 하도록 설정한 다음 데이터베이스 수준 데이터베이스 시작 후 FileTable 디렉터리에 액세스할 수 없습니다. 파일 탐색기를 통해 폴더에 액세스 하려고 하면 해당 폴더에 대 한 폴더가 표시 될 수 있습니다. 없기. 명령 프롬프트에서 "dir" 명령을 실행 하면 "시스템이 지정 된 파일을 찾을 수 없습니다."가 반환 됩니다.
또한 오류 로그에 다음과 같은 오류가 표시 되는 경우 사용자 세션에서 데이터베이스를 자동 시작 하도록 트리거된 것을 알 수 있습니다.
DateTime 로그온 오류: 18456, 심각도: 14, 상태: 38.
DateTime ' UserName '사용자에 대 한 로그온 로그인에 실패 했습니다. 이유: 명시적으로 지정 된 데이터베이스 ' DatabaseName '을 열지 못했습니다. [클라이언트: Ip 번호]
상태
Microsoft는 "적용 대상" 절에 나열한 Microsoft 제품에서 이 문제를 확인했습니다.
해결 방법
이 문제는 다음과 같은 SQL Server 누적 업데이트에서 해결 되었습니다.
SQL Server의 누적 업데이트 정보:
각각의 새로운 새 누적 업데이트에는 이전 누적 업데이트에 포함 된 모든 핫픽스와 모든 보안 수정 사항이 포함 되어 있습니다. SQL Server에 대 한 최신 누적 업데이트를 확인 하세요.
해결 방법
이 문제에 대 한 해결 방법은 데이터베이스의 FILESTREAM non_transacted_access을 사용 하지 않도록 설정 하 고 다시 사용 하도록 설정 하는 것입니다.
ALTER DATABASE [DatabaseName] SINGLE_USER를 즉시 롤백으로 설정 합니다.
ALTER DATABASE [DatabaseName] SET FILESTREAM (NON_TRANSACTED_ACCESS = OFF)
ALTER DATABASE [DatabaseName] SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL)
ALTER DATABASE [DatabaseName] MULTI_USER를 즉시 롤백으로 설정 합니다.
참조
자세한 정보 terminology 소프트웨어 업데이트를 설명 하기 위해 Microsoft에서 사용 하는 용어입니다.