Po upgradu databáze ze serveru SQL Server 2000 na novější verzi může dojít k selhání aplikací

Microsoft 365 vám umožní pracovat odkudkoli a z libovolného zařízení

Upgradujte na Microsoft 365, ať můžete kdekoli používat nejnovější funkce a vylepšení.

Upgradovat hned

Příznaky

Zvažte následující scénář:

  • V databázi SQL Server 2000 je sloupec v tabulce, který je konfigurován tak, aby měl určitou výchozí hodnotu.

  • Tuto databázi upgradujete na novější verzi serveru SQL Server (SQL Server 2005 nebo SQL Server 2008 nebo SQL Server 2008 R2).

V tomto scénáři zjistíte, že v upgradované verzi bude mít výchozí hodnota sloupce další kulaté závorky a všechny aplikace, které jsou kódovány tak, aby přijímaly původní výchozí hodnoty ze serveru SQL Server 2000, se nezdaří. Následující tabulka ukazuje, jak různé verze serveru SQL Server ukládají výchozí hodnotu 0 do tabulek metadat katalogu:

Verze

SQL Server 2000

SQL Server 2005 nebo novější

Hodnotu

0

(0)

Poznámka: Tento problém ovlivňuje pouze číselné hodnoty. Text a funkce budou uloženy ve stejném formátu jak na serveru SQL Server 2000, tak v novějších verzích. Například text bude uložen jako ('text '), funkce () bude uložena jako (Function ()).

Příčina

Toto chování je podle návrhu. Novější verze serveru SQL Server se liší od serveru SQL Server 2000 způsoby dekódování a ukládání výrazů SQL v metadatech katalogu. Další informace naleznete v tomto článku v části Další informace.

Řešení

Upravte aplikace tak, aby akceptují výchozí hodnoty v novém formátu. Pokud je například aplikace navržena tak, aby čekala výchozí hodnotu jako "(0)", která má jednu sadu závorek kolem číselné hodnoty, změňte aplikaci tak, aby čekala dvě sady závorek ((0)), takže bude pokračovat v práci se serverem SQL Server 2005 a novějším. verze databáze.

Další informace

Jak zobrazit výchozí hodnoty sloupce: Chcete-li zobrazit aktuálně nakonfigurované výchozí hodnoty sloupce, můžete použít kteroukoli z následujících dvou metod:Metoda 1: použít SQL Server Management Studio:

  1. V Průzkumníku objektů klepněte pravým tlačítkem myši na tabulku se sloupci, pro které chcete zkontrolovat výchozí hodnoty, a klepnutím na Návrh otevřete tabulku v Návrháři tabulky.

  2. Vyberte sloupec, u kterého chcete zkontrolovat výchozí hodnotu.

  3. Na kartě vlastnosti sloupce naleznete výchozí hodnotu ve vlastnosti Výchozí hodnota nebo vazba , jak je znázorněno v následujících obrázcích:

Metoda 2: použijte jeden z následujících systémových zobrazení:

  • Sys. default_constraints -k získání požadovaných informací použijte sloupec definice.

  • Sys. syscomments -pomocí sloupce text v tomto zobrazení můžete získat potřebné informace. Poznámka: Tato systémová tabulka serveru SQL Server 2000 je zahrnuta jako zobrazení pro zpětnou kompatibilitu. Doporučujeme místo toho použít aktuální systémová zobrazení serveru SQL Server. Chcete-li najít ekvivalentní systémové zobrazení nebo zobrazení, podívejte se na odkazy pod dalšími odkazy níže.

Další odkazy:

Potřebujete další pomoc?

Rozšiřte své znalosti a dovednosti
Projít školení
Získejte nové funkce jako první
Připojit se k programu Microsoft Insider

Byly tyto informace užitečné?

Děkujeme za váš názor!

Děkujeme vám za váš názor! Pravděpodobně bude užitečné, když vás spojíme s některým z našich agentů podpory Office.

×