Share via


設定或變更資料庫定序

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

本主題內容

開始之前

限制事項

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

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

建議

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

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

    • 系統資料表中的任何 charvarchartextncharnvarchar,或 ntext 資料行都會變更為新定序。

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

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

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

安全性

權限

CREATE DATABASE
需要 master 資料庫中的 CREATE DATABASE 許可權,或需要 CREATE ANY DATABASE 或 ALTER ANY DATABASE 許可權。

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

使用 SQL Server Management Studio

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

  1. 在 [物件總管] 中,連線到 SQL Server 資料庫引擎的執行個體,展開該執行個體,然後展開 [資料庫]。

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

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

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

使用 TRANSACT-SQL

若要設定資料庫定序

  1. 連線至資料庫引擎。

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

  3. 複製下列範例並將其貼到查詢視窗中,然後按一下 [執行] 。 此範例示範如何使用 COLLATE 子句來指定定序名稱。 範例會建立使用 MyOptionsTest 定序的 Latin1_General_100_CS_AS_SC 資料庫。 在您建立資料庫之後,執行 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. 連線至資料庫引擎。

  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  
  

另請參閱

定序與 Unicode 支援
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 (SQL Server Transact-SQL)
ALTER TABLE (Transact-SQL)
ALTER DATABASE (Transact-SQL)