Saya telah menerima file database dan instruksi untuk memuatnya adalah menginstal SQL Server 2005 dan kemudian melampirkannya menggunakan SQL Server Management Studio.
Setelah menginstal semuanya, saya mencoba melampirkan file MDF tetapi kemudian memberitahu saya:
pencarian direktori untuk file "D: {folderName} {filename} .LDF" gagal dengan kesalahan sistem operasi 21 (kesalahan tidak ditemukan)
File LDF tidak datang dengan database, jadi mungkin itu harus dihasilkan secara otomatis.
Sekarang, drive D adalah tempat drive CD saya, jadi tidak akan menemukan apa pun di sana. Juga tidak akan ada keberuntungan mencoba membuat apa pun di sana.
Mengapa ia mencoba mencari file log di jalur tertentu? Kenapa tidak di mana file database?
Bagaimana saya bisa melampirkan database ini?
Saya menyadari bahwa ketika saya memilih basis data untuk dilampirkan, tiga entri muncul di bawah "perincian basis data". sebuah MDF, NDF, dan LDF. "Jalur file saat ini" LDF menunjuk ke jalur drive D di atas, jadi saya menghapusnya.
Kali ini, ketika saya menekan "OK", saya mendapatkan pesan kesalahan yang berbeda:
Basis data tidak dapat ditingkatkan karena hanya baca atau memiliki file hanya baca.
Buat database atau file yang dapat ditulisi, dan jalankan kembali pemulihan.Kegagalan aktivasi file. Nama fisik D: {folder} {file} .LDF mungkin salah.
File log baru "..." telah dibuat. (Microsoft SQL Server, Kesalahan: 3415)
Jadi sekarang ia membuat file log baru di folder yang sama dengan file database, yang bagus, tetapi sepertinya ada masalah keamanan.
Informasi tambahan:
Instruksi mengharuskan saya untuk menggunakan nama login "sa", yang tampaknya merupakan akun sysadmin. Saya terhubung ke contoh SQL Server saya menggunakan login itu.
Saya telah memeriksa properti file yang tidak hanya baca. Direktori tidak hanya baca-saja. Semua ACL diizinkan.
Saya tidak dapat melampirkan database. Ketika saya mencoba melampirkannya, ia melempar pesan kesalahan dengan "melampirkan database gagal".
Menutup SSMS dan membukanya kembali sebagai Administrator tidak ada bedanya.
select SERVERPROPERTY('ProductVersion')
mengembalikan 9.00.4035.00. Ada file lain yang datang dengan database yang disebut "dbdata.ini" yang mengatakan "IsSql2000 = 1" jadi mungkin itu dimaksudkan untuk dimuat dalam SQL Server 2000. Saya akan melihat apakah saya bisa membuatnya bekerja pada 2000.
sumber
LOG ON
dengan pencocokanldf
tidak menyelesaikan masalah bagi sayaSaya baru saja menemukan pos yang menjawab pertanyaan ini:
Ini mungkin tidak berfungsi dalam semua kasus, tetapi saya mencoba menginstal Database Pencarian Semantik dan mendapatkan kesalahan yang sama.
Anda harus menjalankan SQL Server Management Studio sebagai administrator, dan itu berfungsi.
sumber
sumber
Klik kanan
.mdf
dan.ldf
file, satu per satu dan klik 'properti', lalu di bagian bawah di mana dikatakan 'file ini berasal dari komputer lain dan mungkin diblokir untuk membantu melindungi komputer ini' klik tombol buka blokir.Kemudian klik kanan, -> properti, -> tab keamanan -> tombol edit dan pilih 'pengguna' dan berikan izin kontrol penuh.
sumber
Dalam kasus saya, resolusinya adalah masuk ke SSMS dengan mode Auth windows daripada pengguna sql yang memiliki peran sysadmin. hanya pastikan pengguna yang Anda gunakan dalam mode auth windows memiliki izin yang tepat (kasus saya adalah sysadmin) Dugaan saya adalah pengguna sql tidak memiliki izin yang tepat. (Saya mengalami masalah ini ketika saya melakukan migrasi / menyalin mdf dan ldf dari berbagai mesin)
sumber
Bukan izin dalam kasus kami, itu adalah versi SSMS!
(itu adalah 2012 secara lokal tempat kami mendapatkan kesalahan, tetapi berfungsi ketika kami menggunakan SSMS 17+ dari kotak jauh)
sumber
Saya juga mengalami masalah ini. Saya membantu pelanggan saya dengan memulai kembali layanan SQL, dan dapat melampirkan MDF sesuai prosedur normal.
sumber
1) Buka Manajer Konfigurasi Sql Server
2) Pilih Layanan Sql Server (Panel kiri)
3) Klik dua kali klik SqlServer Anda (panel kanan)
4) Pilih tab Log On
5) Pilih tombol radio bawaan dan ubah sistem lokal atau layanan jaringan dalam kotak kombo.
6) Klik Ok.
7) Lampirkan file mdf di manajer server sql.
sumber
Layanan SQL Server Anda mungkin berjalan di bawah akun NT Service \ MSSQLServer . Mengubahnya Sistem Lokal akan memberinya akses.
Mungkin Terbaik untuk membuat pengguna dan memberikan izin penuh kepada pengguna tersebut ke folder tempat file berada.
sumber