設定或變更資料庫定序
此主題描述如何使用 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
若要設定或變更資料庫定序
在 [物件總管] 中,連接到 SQL Server Database Engine 的執行個體,展開該執行個體,然後展開 [資料庫]。
如果您要建立新資料庫,以滑鼠右鍵按一下 [資料庫],然後按一下 [新增資料庫]。 如果不要預設定序,請按一下 [選項] 頁面,然後從 [定序] 下拉式清單中選取定序。
或者,如果資料庫已經存在,以滑鼠右鍵按一下所要的資料庫,然後按一下 [屬性]。 按一下 [選項] 頁面,然後從 [定序] 下拉式清單中選取定序。
完成後,請按一下 [確定]。
[Top]
使用 Transact-SQL
若要設定資料庫定序
連接到 Database Engine。
在標準列中,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何使用 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
若要變更資料庫定序
連接到 Database Engine。
在標準列中,按一下 [新增查詢]。
將下列範例複製並貼到查詢視窗中,然後按一下 [執行]。 此範例示範如何在 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)
SQL Server 定序名稱 (Transact-SQL)
CREATE DATABASE (Transact-SQL)