Gejala
Selama pengaktifan Microsoft SQL Server 2016 dan 2017, jika pengguna mencoba menyambungkan ke database sebelum dimulai, sesi pengguna dapat menyebabkan database dimulai secara otomatis. Jika hal ini terjadi, jika database berisi FileTable dan mengaktifkan non_transacted_access FILESTREAM, direktori FileTable tingkat database tidak dapat diakses setelah database dimulai. Jika Anda mencoba mengakses folder melalui File Explorer, ini mungkin menunjukkan bahwa folder tidak tersedia. Saat Anda menjalankan perintah "dir" dari Prompt Perintah, perintah akan mengembalikan "Sistem tidak dapat menemukan file yang ditentukan."
Selain itu, Anda mungkin melihat kesalahan berikut dalam log kesalahan yang menunjukkan sesi pengguna memicu database untuk dimulai secara otomatis:
TanggalWaktu Kesalahan Masuk: 18456, Tingkat Keparahan: 14, Negara Bagian: 38.
TanggalWaktu Login Masuk gagal untuk pengguna 'UserName'. Alasan: Gagal membuka database 'DatabaseName' yang ditentukan secara eksplisit. [KLIEN: IPNumber]
Status
Microsoft telah mengonfirmasi bahwa ini adalah masalah dalam produk Microsoft sebagaimana tercantum di bagian "Berlaku untuk".
Resolusi
Masalah ini telah diperbaiki dalam pembaruan kumulatif berikut untuk SQL Server:
Tentang pembaruan kumulatif untuk SQL Server:
Setiap pembaruan kumulatif baru untuk SQL Server berisi semua hotfix dan semua perbaikan keamanan yang disertakan dengan pembaruan kumulatif sebelumnya. Lihat pembaruan kumulatif terbaru untuk SQL Server:
Solusi
Solusi untuk masalah ini adalah dengan menonaktifkan dan mengaktifkan kembali non_transacted_access FILESTREAM database.
ALTER DATABASE [DatabaseName] ATUR SINGLE_USER DENGAN ROLLBACK SEGERA
ALTER DATABASE [DatabaseName] SET FILESTREAM ( NON_TRANSACTED_ACCESS = OFF )
ALTER DATABASE [DatabaseName] SET FILESTREAM ( NON_TRANSACTED_ACCESS = FULL )
ALTER DATABASE [DatabaseName] SET MULTI_USER DENGAN ROLLBACK SEGERA
Referensi
Pelajari tentang terminologi yang digunakan Microsoft untuk menjelaskan pembaruan perangkat lunak.