サーバーの照合順序の設定または変更Set or Change the Server Collation

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance

サーバー照合順序は、 SQL ServerSQL Serverのインスタンスと一緒にインストールされているすべてのシステム データベースだけではなく、新しく作成したユーザー データベースの既定の照合順序になります。The server collation acts as the default collation for all system databases that are installed with the instance of SQL ServerSQL Server, and also any newly created user databases. サーバーレベルの照合順序は慎重に選択してください。以下に影響を与えます。You should carefully choose server-level collation because it affects:

  • =JOINORDER BY、ならびにテキスト データを比較するその他の演算子の並べ替えルールと比較ルール。Sorting and comparison rules in =, JOIN, ORDER BY and other operators that compare textual data.
  • システム ビュー、システム関数、TempDB のオブジェクト (一時テーブルなど) の CHARVARCHARNCHARNVARCHAR 列の照合順序。Collation of the CHAR, VARCHAR, NCHAR, and NVARCHAR columns in system views, system functions, and the objects in TempDB (for example, temporary tables).
  • 変数、カーソル、GOTO ラベルの名前。Names of the variables, cursors, and GOTO labels. 変数の @pi と @PI は、サーバーレベルの照合順序で大文字と小文字が区別される場合は異なる変数であると、区別されない場合は同じ変数であると見なされます。Variables @pi and @PI are considered as different variables if the server-level collation is case-sensitive, and the same variables if the server-level collation is case-insensitive.

SQL Server でサーバー照合順序を設定するSetting the server collation in SQL Server

サーバー照合順序は SQL ServerSQL Server のインストール時に指定します。The server collation is specified during SQL ServerSQL Server installation. 既定のサーバーレベルの照合順序は、オペレーティング システムのロケールに基づいています。The default server-level collation is based upon the locale of the operating system. たとえば、英語 (米国) (en-us) を使用するシステムの既定の照合順序は SQL_Latin1_General_CP1_CI_AS です。For example, the default collation for systems using US English (en-US) is SQL_Latin1_General_CP1_CI_AS. Unicode 専用の照合順序はサーバーレベルの照合順序として指定できません。Unicode-only collations cannot be specified as the server-level collation. 既定の照合順序マッピングに対する OS ロケールの一覧などの詳細については、「照合順序と Unicode のサポート」の「サーバーレベルの照合順序」を参照してください。For more information, including the list of OS locale to default collation mappings, see the "Server-level collations" section of Collation and Unicode Support.

注意

SQL ServerSQL Server Express LocalDB のサーバーレベルの照合順序は SQL_Latin1_General_CP1_CI_AS であり、インストール中またはインストール後に変更することはできません。The server-level collation for SQL ServerSQL Server Express LocalDB is SQL_Latin1_General_CP1_CI_AS and cannot be changed, either during or after installation.

SQL Server でサーバー照合順序を変更するChanging the server collation in SQL Server

SQL ServerSQL Server のインスタンスの既定の照合順序を変更する操作は複雑で、次の手順が含まれます。Changing the default collation for an instance of SQL ServerSQL Server can be a complex operation and involves the following steps:

  • ユーザー データベースおよびユーザー データベース内のすべてのオブジェクトを再作成するのに必要なすべての情報またはスクリプトがあることを確認します。Make sure you have all the information or scripts needed to re-create your user databases and all the objects in them.

  • bcp ユーティリティなどのツールを使用して、すべてのデータをエクスポートします。Export all your data using a tool such as the bcp Utility. 詳細については、「データの一括インポートと一括エクスポート (SQL Server)」を参照してください。For more information, see Bulk Import and Export of Data (SQL Server).

  • すべてのユーザー データベースを削除します。Drop all the user databases.

  • setup コマンドの SQLCOLLATION プロパティで新しい照合順序を指定して、master データベースを再構築します。Rebuild the master database specifying the new collation in the SQLCOLLATION property of the setup command. 次に例を示します。For example:

    Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName
    /SQLSYSADMINACCOUNTS=accounts /[ SAPWD= StrongPassword ]
    /SQLCOLLATION=CollationName  
    

    詳細については、「 システム データベースの再構築」を参照してください。For more information, see Rebuild System Databases.

  • すべてのデータベースとデータベース内のすべてのオブジェクトを作成します。Create all the databases and all the objects in them.

  • すべてのデータをインポートします。Import all your data.

注意

SQL ServerSQL Server のインスタンスの既定の照合順序を変更する代わりに、CREATE DATABASE ステートメントと ALTER DATABASE ステートメントの COLLATE 句を通じて、新しく作成するデータベースごとに既定の照合順序を指定することができます。Instead of changing the default collation of an instance of SQL ServerSQL Server, you can specify a default collation for each new database you create via the COLLATE clause of the CREATE DATABASE and ALTER DATABASE statements. 詳細については、「 Set or Change the Database Collation」を参照してください。For more information, see Set or Change the Database Collation.

Managed Instance でサーバー照合順序を設定するSetting the server collation in Managed Instance

Azure SQL Managed Instance のサーバーレベルの照合順序は、インスタンスの作成時に指定できますが、後で変更することはできません。Server-level collation in Azure SQL Managed Instance can be specified when the instance is created and cannot be changed later. インスタンスを作成しているときに、Azure Portal または PowerShell と Resource Manager テンプレートを使用してサーバーレベルの照合順序を設定できます。You can set server-level collation via Azure portal or PowerShell and Resource Manager template while you are creating the instance. サーバーレベルの既定の照合順序は SQL_Latin1_General_CP1_CI_AS です。Default server-level collation is SQL_Latin1_General_CP1_CI_AS. Unicode 専用の照合順序と新しい UTF-8 の照合順序はサーバーレベルの照合順序として指定できません。Unicode-only and new UTF-8 collations cannot be specified as server-level collation. SQL Server から Managed Instance にデータベースを移行する場合、SERVERPROPERTY(N'Collation') 関数を使用してソース SQL Server でサーバー照合順序を確認し、ご利用の SQL Server の照合順序に一致する Managed Instance を作成します。If you are migrating databases from SQL Server to Managed Instance, check the server collation in the source SQL Server using SERVERPROPERTY(N'Collation') function and create a Managed Instance that matches the collation of your SQL Server. 一致しないサーバーレベル照合順序で SQL Server から Managed Instance にデータベースを移行すると、クエリで予想外のエラーがいくつか発生することがあります。Migrating a database from SQL Server to Managed Instance with the server-level collations that are not matched might cause several unexpected errors in the queries. 既存の Managed Instance のサーバー レベル照合順序を変更することはできません。You cannot change the server-level collation on the existing Managed Instance.

参照See Also

照合順序と Unicode のサポート Collation and Unicode Support
データベースの照合順序の設定または変更 Set or Change the Database Collation
列の照合順序の設定または変更 Set or Change the Column Collation
システム データベースの再構築Rebuild System Databases