Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Podrobnosti
| Attribute | Value |
|---|---|
| Název produktu | SQL Server |
| ID události | 3168 |
| Zdroj události | MSSQLSERVER |
| Součást | SQLEngine |
| Symbolický název | LDDB_SYSTEMWRONGVER |
| Text zprávy | Zálohu systémové databáze na zařízení %ls nelze obnovit, protože byla vytvořena jinou verzí serveru (%ls) než tento server (%ls). |
Vysvětlení
Nemůžete obnovit zálohu systémové databáze (master, model nebo msdb) na serverové verzi, která se liší od sestavy, na které byla záloha původně vytvořena.
Note
Instalace servisní aktualizace jako kumulativní aktualizace, servisní balíček nebo GDR změní číslo sestavení serveru. Sestavování serverů je vždy postupné.
Možné příčiny
Schéma databáze systémových databází může být změněno napříč serverovými buildy. Aby se zajistilo, že změna schématu nezpůsobí nesrovnalosti, příkaz porovnává číslo sestavení zálohovacího souboru serveru s číslem sestavení serveru, RESTORE na kterém se pokoušete zálohu obnovit. Pokud jsou sestavení odlišná, příkaz zobrazí chybovou hlášku "3168" a operace obnovení se abnormálně ukončí.
Některé scénáře, kdy by se tento problém mohl objevit, zahrnují následující:
Snažíte se obnovit systémovou databázi na serveru A ze zálohy, která byla provedena na serveru B. Servery A a B jsou v různých serverových verzích. Například Server A může být na původní verzi verze a Server B na buildu service pack 1 (SP1).
Snažíte se obnovit systémovou databázi ze zálohy, která byla provedena na stejném serveru. Server však běžel na jiné verzi, když zálohovací proces běžel. To znamená, že server byl aktualizován od vytvoření zálohy.
Akce uživatele
Pokud chcete tento problém vyřešit, postupujte následovně:
Note
Pro následující postupy je Server A zdrojový server založený na SQL Server, na kterém se záloha provádí, a Server B je cílový server založený na SQL Server, na který se snažíte zálohu obnovit:
Určete verzi serveru B (verze B) pomocí následujícího dotazu:
SELECT @@VERSION;Spusť dotaz, který se podobá následujícímu, abys určil verzi SQL Server, která běžela v době provedení zálohy zdrojového kódu (verze A):
RESTORE headeronly FROM disk = 'c:\sqlbackups\masterdb.bak'Zkontrolujte hodnoty
SoftwareVersionMajor,SoftwareVersionMinor, aSoftwareVersionBuildsloupců, abyste určili sestavení zdrojového serveru, který byl použit při zálohování. Například předpokládejme, že hodnoty jsou následující:- Verze softwaruHlavní: 15
- SoftwareVersionMinor: 0
- SoftwareVersionBuild: 4236 V tomto případě je zdrojová verze SQL Server při zálohování 15.0.4236.
Použijte buď kompletní tabulky verzic SQL Server, nebo tabulku Excel builds, abyste určili verzi SQL Server, které verze verze odpovídá. Například verze 15.0.4236 mapuje na SQL Server 2019 CU16+GDR (verze A).
Použijte jednu z následujících možností:
Pokud je verze A větší než verze B, použijte informace z Nejnovější aktualizace a historie verzí SQL Server k upgradu serveru B na stejnou verzi jako verze A.
Pokud je verze A horší než verze B, dočasně odstraňte pozdější aktualizace pomocí následujících kroků:
V Control Panel vyberte Programy>, programy a funkce a poté zvolte Zobrazit nainstalované aktualizace.
Najděte položku, která odpovídá každému z pozdějších aktualizačních balíčků, které odpovídají verzi B.
Stiskněte a podržte (nebo klikněte pravým tlačítkem) na položku, a pak vyberte Odinstalovat.
Poté, co ověříte, že verze B je stejná jako verze A, zkuste znovu obnovit hlavní databázi na serveru B.
(Doporučeno) Aktualizujte Server B na nejnovější dostupnou verzi a pak proveďte novou zálohu systémových databází.