共用方式為


設定或變更資料庫定序

此主題描述如何使用 SQL Server Management Studio 或 Transact-SQL,在 SQL Server 2012 中設定及變更資料庫定序。 如果沒有指定定序,會使用伺服器定序。

本主題內容

  • 開始之前:

    限制事項

    建議

    安全性

  • 若要使用下列項目設定或變更資料庫定序:

    SQL Server Management Studio

    Transact-SQL

開始之前

限制事項

  • 僅限 Windows Unicode 定序只能搭配 COLLATE 子句使用,以便將定序套用至資料行層級和運算式層級資料的 nchar、nvarchar 和 ntext 資料類型。 這些定序無法搭配 COLLATE 子句使用,以變更資料庫或伺服器執行個體的定序。

  • 如果指定的定序或所參考物件所用的定序使用 Windows 不支援的字碼頁,Database Engine 就會顯示錯誤。

建議

  • 您可以在<Windows 定序名稱 (Transact-SQL)>和<SQL Server 定序名稱 (Transact-SQL)>中找到支援的定序名稱;您也可以使用 sys.fn_helpcollations (Transact-SQL) 系統函數。

  • 當您變更資料庫定序時,會變更下列各項:

    • 系統資料表中的任何 char、varchar、text、nchar、nvarchar,或 ntext 資料行都會變更為新定序。

    • 預存程序與使用者定義函數的任何現有 char、varchar、text、nchar、nvarchar,或 ntext 參數和純量傳回值,都會變更為新定序。

    • char、varchar、text、nchar、nvarchar,或 ntext 系統資料類型,以及以這些系統資料類型為基礎的所有使用者定義資料類型,都會變更為新的預設定序。

  • 您可以使用 ALTER DATABASE 陳述式的 COLLATE 子句,變更在使用者資料庫中建立的任何新物件的定序。 此陳述式不會變更現有使用者自訂資料表中的資料行定序。 您可以使用 ALTER TABLE 的 COLLATE 子句進行變更。

安全性

權限

  • CREATE DATABASE
    需要 master 資料庫的 CREATE DATABASE 權限,或需要 CREATE ANY DATABASE 或 ALTER ANY DATABASE 權限。

  • ALTER DATABASE
    需要資料庫的 ALTER 權限。

搭配回到頁首連結使用的箭頭圖示[Top]

使用 SQL Server Management Studio

若要設定或變更資料庫定序

  1. [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,展開該執行個體,然後展開 [資料庫]

  2. 如果您要建立新資料庫,以滑鼠右鍵按一下 [資料庫],然後按一下 [新增資料庫]。 如果不要預設定序,請按一下 [選項] 頁面,然後從 [定序] 下拉式清單中選取定序。

    或者,如果資料庫已經存在,以滑鼠右鍵按一下所要的資料庫,然後按一下 [屬性]。 按一下 [選項] 頁面,然後從 [定序] 下拉式清單中選取定序。

  3. 完成後,請按一下 [確定]

搭配回到頁首連結使用的箭頭圖示[Top]

使用 Transact-SQL

若要設定資料庫定序

  1. 連接到 Database Engine。

  2. 在標準列中,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何使用 COLLATE 子句來指定定序名稱。 範例會建立使用 Latin1_General_100_CS_AS_SC 定序的 MyOptionsTest 資料庫。 在您建立資料庫之後,執行 SELECT 陳述式以驗證設定。

USE master;
GO
IF DB_ID (N'MyOptionsTest') IS NOT NULL
DROP DATABASE MyOptionsTest;
GO
CREATE DATABASE MyOptionsTest
COLLATE Latin1_General_100_CS_AS_SC;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

若要變更資料庫定序

  1. 連接到 Database Engine。

  2. 在標準列中,按一下 [新增查詢]

  3. 將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何在 ALTER DATABASE 陳述式中使用 COLLATE 子句,以變更定序名稱。 執行 SELECT 陳述式以驗證變更。

USE master;
GO
ALTER DATABASE MyOptionsTest
COLLATE French_CI_AS ;
GO

--Verify the collation setting.
SELECT name, collation_name
FROM sys.databases
WHERE name = N'MyOptionsTest';
GO

搭配回到頁首連結使用的箭頭圖示[Top]

請參閱

參考

sys.fn_helpcollations (Transact-SQL)

sys.databases (Transact-SQL)

SQL Server 定序名稱 (Transact-SQL)

Windows 定序名稱 (Transact-SQL)

COLLATE (Transact-SQL)

定序優先順序 (Transact-SQL)

CREATE TABLE (Transact-SQL)

CREATE DATABASE (Transact-SQL)

ALTER TABLE (Transact-SQL)

ALTER DATABASE (Transact-SQL)

概念

定序與 Unicode 支援