Sign in with Microsoft
Sign in or create an account.
Hello,
Select a different account.
You have multiple accounts
Choose the account you want to sign in with.

徵狀

請試想下列案例:

  • 在 SQL Server 2000年資料庫中,您可以有一個資料行已設定為特定的預設值的資料表中。

  • 您可以升級這個資料庫到較新版的 SQL Server (SQL Server 2005,或 SQL Server 2008年或 SQL Server 2008 R2)。

在這個案例中,您會注意到,在升級後的版本中,資料行的預設值將會有額外的括號四周,而任何已編碼為接受原始的預設值,從 SQL Server 2000年的應用程式將會失敗。下表顯示了不同版本的 SQL Server 儲存區預設值為 0 類別目錄的中繼資料表中:

版本

SQL Server 2000

SQL Server 2005 或更新版本

數值

(0)

((0))

注意: 這個問題只會影響數字值。文字和函式,都將儲存在 SQL Server 2000年和更新版本中相同的格式。例如,文字會儲存為 ('文字 '), function()會儲存為 (function())。

原因

這種行為是經過設計規劃。新版本的 SQL Server 區別 SQL Server 2000年解碼,並儲存在類別目錄的中繼資料中的 SQL 運算式。如需詳細資訊,請參閱這份文件的其他相關資訊一節中所列的各種連結。

解決方案

請修改您的應用程式,使其接受新的格式中的預設值。範例,如果您的應用程式設計成預期的預設值為 「 (0) 」 都有一組括號括住數字的值,請變更您的應用程式預期兩個一組括號"((0))",以便它會繼續為使用 SQL Server 2005 及更新版本資料庫的版本。

其他相關資訊

如何檢視資料行的預設值:您可以使用下列兩種方法之一來檢視資料行的目前設定的預設值:方法 1: 使用 SQL Server Management Studio:

  1. 在物件總管中以滑鼠右鍵按一下您要檢查的預設值,然後按一下 [設計],以開啟 「 資料表設計師 」 中的資料表的資料行的資料表。

  2. 選取您要檢查 thedefault 值的資料行。

  3. 於資料行屬性] 索引標籤中,您會看到預設值如下列影像所示之預設值或繫結] 屬性中:

方法 2: 使用下列的系統檢視的其中一個:

  • sys.default_constraints -使用 [定義資料行,以取得所需的資訊。

  • sys.syscomments -使用文字資料行,在此檢視中,以取得必要的資訊。注意: 這個 SQL Server 2000年系統資料表是包含做為回溯相容性檢視。我們建議您改用目前的 SQL Server 系統檢視。若要尋找的對等系統檢視表,請參閱下方的其他參考資料下的連結。

其他參考資料:

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

How satisfied are you with the translation quality?
What affected your experience?

Thank you for your feedback!

×