在這項工作中

摘要

這份文件會定義定序,並說明如何從一個定序,Microsoft SQL Server 在傳輸資料庫,SQL Server 中的另一個定序。相同的概念和討論區有關 SQL Server 2000年也適用於 SQL Server 2005。

定序是什麼?

定序指定代表每個字元的位元模式。此外,它也會指定可用來排序,並比較字元的規則。定序具有下列特性︰

  • 語言

  • 區分大小寫

  • 區分腔調

  • 假名敏感度

若要知道伺服器目前使用的定序,您可以執行 SQL 查詢分析器] 中的sp_helpsort系統程序。

SQL Server 7.0 不支援有多個的定序的資料庫。因此,您在 SQL Server 7.0 中建立的所有資料庫都使用的預設定序。SQL Server 2000年支援多重定序。SQL Server 2000年資料庫可以有以外的預設定序的定序。此外,SQL Server 2000年也支援具有資料庫的定序以外的定序,其建立所在的資料行。

何時使用 DTS 中的 [使用定序選項

SQL Server 2000年可以有多個資料庫或具有定序的預設定序以外的資料行。因此,新的選項名為使用定序介紹在 「 資料轉換服務 」 (DTS)。使用定序選項的行為取決於您正在執行的傳輸的類型。如果兩個 SQL Server 2000年執行個體之間傳輸資料,並啟用 [使用定序] 選項,就會從來源的字碼頁的資料轉譯為了目的地字碼頁。如果您不會啟用 [使用定序] 選項的字碼頁上是相同的 SQL Server 2000年的兩個執行個體,就會發生直接資料傳輸。如果不同的字碼頁,從來源的字碼頁的資料會轉譯為了目的地字碼頁中。不過,轉換可能不正確時,您將資料傳送。

注意定序適用於資料本身,並使用自動分頁子句的資料行定序是重要的。使用定序選項會決定另一個定序傳輸的資料從一個定序時,是否會發生字碼頁轉譯。的
是否有一個資料行定義的 [自動分頁] 屬性設定,則不會影響使用自動分頁選項。因此,如果來源資料表包含由使用 COLLATE 子句以特定的定序所建立的資料行,該定序仍然存在時傳輸資料時,不論是否
使用自動分頁選項會啟用 「 資料轉換服務精靈 」。

傳輸不會變更資料庫的定序的方法

下列的方法不會改變資料庫的定序︰

  • 備份及還原︰ 還原比用於備份的伺服器不會轉換新的定序的已還原的資料庫有不同的定序的伺服器上的資料庫。資料庫定序會保持原狀。

  • 卸離並重新附加︰ 如果您卸離資料庫以一個定序所建立的而且您重新附加到另一個具有不同的定序的伺服器資料庫,資料庫的定序不會變更。資料庫的定序會保持原狀。

  • 複製資料庫精靈 」: 「 複製資料庫精靈 」 基本上可卸離與附加程的序自動化。資料庫的定序會保持原狀。

    注意在 SQL Server 2000年中使用 「 複製資料庫精靈 」。不過,「 複製資料庫精靈 」 並無法用於 SQL Server 7.0 的。


傳輸從 SQL Server 7.0 中的一個定序的資料庫,SQL Server 7.0 中為不同的定序

若要變更正在執行 SQL Server 7.0 的兩部電腦之間的資料庫的定序,必須在目的伺服器上建立使用者資料庫及所有的物件,並使用 DTS 或 bcp 公用程式,以傳送資料。

若要從電腦到電腦,執行 SQL Server 7.0,且具有不同的定序執行 SQL Server 7.0 傳輸資料庫,請依照下列步驟執行︰

  1. 備份來源資料庫。

  2. 使用 SQL Server 企業管理員來源資料庫中建立的所有物件的指令碼。

  3. 若要從資料庫中的所有資料表匯出資料時,使用 DTS 或 bcp 公用程式。

  4. 使用 SQL Server 企業管理員] 或 [建立資料庫陳述式,目的伺服器上建立新的資料庫。

    注意當您使用建立資料庫陳述式時,資料庫會有相同的定序與執行 SQL Server 7.0 的電腦。

  5. 使用 SQL 查詢分析工具,來執行您在建立指令碼步驟 2 來重新建立目的資料庫中的所有物件。

    注意資料表和資料行必須與執行 SQL Server 7.0 的電腦相同的定序。

  6. 使用 DTS 或 bcp 公用程式來匯入的目的資料表中的資料。

傳輸資料庫從 SQL Server 7.0 中的一個定序,為 SQL Server 2000年中的定序

若要變更 SQL Server 7.0 和 SQL Server 2000年之間的資料庫的定序,您必須建立資料庫、 資料行,或兩者皆擁有適當的定序的目的伺服器上轉送資料之前,先。不過,您可以使用 DTS,來卸除,然後當您將資料從 SQL Server 7.0 轉換到 SQL Server 2000年時再重新建立物件。當這麼做,您必須啟用 [在 DTS 中的 [使用定序] 選項。

注意請勿使用 SQL Server 7.0 版傳送所有物件,或從執行 SQL Server 2000年的電腦所隨附的 「 DTS 」 公用程式。您必須使用當您需要 SQL Server 7.0 和 SQL Server 2000年之間傳輸資料時,SQL Server 2000年中所包含的 「 DTS 」 公用程式。

要從 SQL Server 7.0 中的一個定序的資料庫轉移為 SQL Server 2000年中的定序中,請依照下列步驟執行︰

  1. 備份來源資料庫。

  2. 使用 SQL Server 企業管理員來源資料庫中建立的所有物件的指令碼。

  3. 如果資料行必須具有不同的定序,比預設定序,目的資料庫上,請在指令碼中適當的直欄中進行必要的定序變更。

  4. 以適當的定序的目的伺服器上建立新的資料庫。

  5. 使用 SQL 查詢分析工具,來執行您在建立指令碼步驟 2 來重新建立資料庫中的所有物件的目的伺服器上。


    注意新的資料表和資料行有相同的定序與資料庫,除非您指定不同的定序,為資料行。

  6. 使用 DTS 或 bcp 公用程式來傳送資料。

    注意如果您使用 DTS,請檢查下列各項︰

    • 請確定已啟用 [使用定序] 選項,當您將資料從 SQL Server 7.0 轉換到 SQL Server 2000年。

    • 因為已建立物件的以適當的定序的目的伺服器上,停用建立目的物件第一個選項。

傳輸資料庫從 SQL Server 2000年中的一個定序,在 SQL Server 2000年中為不同的定序

要從 SQL Server 2000年中的一個定序的資料庫轉移到不同的定序,在 SQL Server 2000年中,請依照下列步驟執行︰

  1. 備份來源資料庫。

  2. 請注意,是否任何資料行使用 COLLATE 子句。

  3. 以適當的定序的目的伺服器上建立新的資料庫。

  4. 如果沒有資料行使用 COLLATE 子句,請使用 DTS 來傳送資料到目的伺服器。若要執行這項操作,請啟用字碼頁轉譯的使用定序選項,並將資料傳給新的定序,目的資料庫上。如果任何資料行使用 COLLATE 子句,請依照下列步驟執行︰

    1. 產生 (不包括索引、 觸發程序、 主索引鍵、 外部索引鍵、 預設值和條件約束) 的所有物件的指令的碼。此外,請確定您啟用
      若要從指令碼中移除 COLLATE 子句的 [指令碼 7.0 相容功能] 選項。

      注意當您使用指令碼 7.0 相容功能] 選項時,您可以變更定序。不過,任何新的 SQL Server 2000年選項,(包括使用者定義的函數、 擴充屬性,[取代觸發程序和檢視表的索引) 會被視為在何時產生指令碼。

    2. 執行指令碼步驟來建立物件,與目的地資料庫定序的目的資料庫上。

    3. 使用 DTS 來傳輸的資料從來源資料庫。

    4. 成功傳送的資料之後,請從來源資料庫中產生所有條件約束、 外部索引鍵、 主索引鍵和索引的指令的碼。

      注意在 [產生 SQL 指令碼] 對話方塊的 [格式] 索引標籤中,按一下以清除下列核取方塊︰

      • 產生每個物件的建立 < 物件 > 命令

      • 產生 [拖放 < 物件 >] 命令,每個物件

    5. 執行步驟 d 中的指令碼,在目的資料庫。

變更 master 資料庫的定序

如果您想要變更master資料庫的定序,您必須重新建置master資料庫。當您重建master資料庫時,基本上會建立新的master資料庫。因此,您重新建置master資料庫之前,請考慮下列項目︰

  • 請確定目前的主資料庫的有效備份。當您重新建置master資料庫時, msdb資料庫和模型資料庫也會重新建立。因此,您必須備份msdb資料庫與model資料庫之前您重新建置master資料庫。用來儲存您的 SQL Server 工作、 警示、 運算子和 DTS 封裝的系統資料庫msdb資料庫。Model資料庫會是您建立新的資料庫時所使用的範本資料庫。

  • 因為重新建置master資料庫時,會建立新的master資料庫,您必須在您重新建置master資料庫後重新輸入現有的登入資訊。因此,您必須在您重新建置master資料庫之前,匯出的登入資訊。重建master資料庫之後,匯入的登入資訊。如需有關如何匯出登入資訊的詳細資訊,請按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的文︰

    如何轉移登入和密碼的 SQL Server 執行個體之間的246133

  • 因為當您重新建置master資料庫時,會重建msdb資料庫,您必須在您重新建置master資料庫之前產生所有作業、 警示、 以及運算子的指令的碼。此外,您必須確定您移動所有的 DTS 封裝。
    如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

    314546如何執行 SQL Server 的電腦之間移動資料庫

  • 當您重新建置master資料庫時,會重建model資料庫,因為model資料庫先前所做的任何變更必須是另有註明、 編寫指令碼,或者匯出之前您重新建置master資料庫。重新建置model資料庫之後,重新套用所述的任何變更。

變更在 SQL Server 2000年的 master 資料庫的定序

您可以變更master資料庫的定序之前,請遵循下列步驟︰

  1. 當您重建 master 資料庫時,它不會不會自動記得資料庫根據前即已建立的所有資料庫。因此,所有資料庫必須從備份都還原,或如果檔案仍在磁碟上,您可以重新將資料庫附加使用sp_attach_db 預系統預存程序。請確定您有所有必要的資訊,要您重新建置master資料庫之前,重新附加現有的資料庫。如需有關sp_attach_db 預系統預存程序的詳細資訊,請造訪下列 MSDN 網站︰

    http://msdn2.microsoft.com/en-us/library/aa259611(SQL.80).aspx

  2. 當您重建master資料庫時,會變更的master資料庫、 model資料庫中和msdb資料庫的定序。使用者資料庫的定序不會變更。若要變更現有的使用者資料庫的定序,或與適當的定序,建立新的資料庫使用 ALTER DATABASE 命令中,然後再使用 DTS 或 bcp 公用程式來傳送資料至新的資料庫。

    注意如果您在 SQL Server 2000年中使用的 ALTER DATABASE 命令,若要變更資料庫的定序,在資料表中的資料行的定序不會自動變更。若要變更的資料行的定序,請使用 ALTER TABLE 命令和 [變更欄] 指令。如果您正在使用 DTS,您可以建立資料表和資料行與適當的定序之前,您將資料傳送,或者您可以使用 [使用定序] 選項。如果您使用 DTS,並已適當的定序的資料表存在,請確定在執行封裝之前,請停用卸除現有物件第一個選項。

變更 master 資料庫,SQL Server 7.0 中的定序

您可以變更master資料庫的定序之前,請遵循下列步驟︰

  1. SQL Server 7.0 不支援具有定序的預設定序以外的資料庫。因此,如果要在重新建置master資料庫之前,請與使用者資料庫匯出所有資料。

  2. 在資料庫中產生所有物件的指令的碼。

  3. 重新建立master資料庫與適當的定序。

  4. 建立新的資料庫。以新的預設定序,會自動建立新的資料庫。

  5. 執行先前儲存的指令碼,並重新建立物件,然後再匯入先前匯出的資料。

參考

如需有關定序的詳細資訊,請造訪下列 Microsoft 網站︰

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!

×