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

適用対象: ○SQL Server ○Azure SQL Database (Managed Instance のみ) ×Azure SQL Data Warehouse ×Parallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database (Managed Instance only) noAzure SQL Data Warehouse noParallel Data Warehouse

サーバー照合順序は、 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. サーバーレベルの既定の照合順序は SQL_Latin1_General_CP1_CI_AS です。Default server-level collation is SQL_Latin1_General_CP1_CI_AS. Unicode 専用の照合順序はサーバーレベルの照合順序として指定できません。Unicode-only collations cannot be specified as the server-level collation. 詳細については、「 Collation and Unicode Support」を参照してください。For more information, see Collation and Unicode Support.

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のインスタンスの既定の照合順序を変更する代わりに、新しく作成するデータベースごとに既定の照合順序を指定することができます。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.

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

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