Database SQL Server pemulihan kesalahan: pemain tertentu tidak valid. (SqlManagerUI)

Saya menggunakan SQL Server 2008 R2 Standard (versi 10.50.1600.1) untuk produksi saya dan website SQL Server Express edition with Advanced Services (v10.50.1600.1) untuk saya localhost sebagai database.

Beberapa hari kembali SQL Server saya jatuh dan saya harus menginstal baru 2008 R2 Express versi saya localhost. Itu bekerja dengan baik ketika saya dipulihkan beberapa versi yang diambil dari Express edition tapi ketika saya mencoba untuk memulihkan database dari .bak file yang diambil dari server produksi ini menyebabkan galat berikut:

Kesalahan: pemain Tertentu tidak valid. (SqlManagerUI)

dan ketika saya mencoba untuk memulihkan database menggunakan perintah

Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications.bak'
WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'

Itu menghasilkan kesalahan yang berbeda

Msg 3154, Tingkat 16, Negara 4, Baris 1 set cadangan memegang cadangan dari database lain selain yang ada 'Publikasi' database. Msg 3013, Tingkat 16, Negara bagian 1, Baris 1 RESTORE DATABASE mengakhiri normal.

Saya telah mengecek versi. Mereka semua tampaknya cocok untuk saya seperti yang ditunjukkan pada gambar di bawah ini

Sebelumnya saya mampu untuk mengembalikan database dari versi standar untuk express edition tapi sekarang itu gagal. Aku menghapus database dan mencoba untuk menciptakan itu. Yang gagal juga.

Saya tidak yakin apa yang saya lakukan salah. Saya akan sangat menghargai bantuan dalam hal ini mengenai

Masalah itu diselesaikan seperti itu tampaknya .bak file korup. Ketika saya mencoba dengan file yang berbeda bekerja.

Mengomentari pertanyaan (5)

Bisa jadi karena mengembalikan versi SQL Server 2012 backup file ke SQL Server 2008 R2 atau bahkan kurang.

Komentar (5)
Larutan

GUI dapat berubah-ubah sewaktu-waktu. Kesalahan yang anda dapatkan ketika menggunakan T-SQL adalah karena anda're mencoba untuk menimpa database yang sudah ada, tetapi tidak menentukan untuk menimpa/mengganti database yang sudah ada. Berikut ini mungkin bekerja dengan:

Use Master
Go
RESTORE DATABASE Publications
  FROM DISK = 'C:\Publications_backup_2012_10_15_010004_5648316.bak'
  WITH 
    MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
    MOVE 'Publications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
, REPLACE -- Add REPLACE to specify the existing database which should be overwritten.
Komentar (6)

Akhirnya punya kesalahan ini untuk pergi di restore. Saya pindah ke SQL2012 keluar dari frustrasi, tapi saya kira ini mungkin akan masih bekerja pada 2008R2. Saya harus menggunakan nama logis:

RESTORE FILELISTONLY
FROM DISK = ‘location of your.bak file’

Dan dari sana aku berlari mengembalikan pernyataan dengan BERGERAK menggunakan nama logis.

RESTORE DATABASE database1
FROM DISK = '\\database path\database.bak'
WITH
MOVE 'File_Data' TO 'E:\location\database.mdf',
MOVE 'File_DOCS' TO 'E:\location\database_1.ndf',
MOVE 'file' TO 'E:\location\database_2.ndf',
MOVE 'file' TO 'E:\location\database_3.ndf',
MOVE 'file_Log' TO 'E:\location\database.ldf'

Ketika hal itu dilakukan untuk memulihkan, aku hampir menangis dengan sukacita.

Good luck!

Komentar (0)

Di bawah ini dapat 2 alasan untuk masalah ini:

  1. Cadangan yang diambil pada SQL 2012 dan Mengembalikan Headeronly dilakukan di SQL 2008 R2

  2. Media Backup rusak.

Jika kita menjalankan perintah di bawah ini, kita dapat menemukan kesalahan yang sebenarnya selalu:

restore headeronly
from disk = 'C:\Users\Public\Database.bak'

Memberikan lokasi lengkap dari file database anda dalam quot

Semoga membantu

Komentar (0)