次のセクションでは、SQL Server on Linuxに関する既知の問題について説明します。
全般
次の表に、SQL Server on Linuxに関する最も一般的な問題を示します。
| 問題 | 解決策 |
|---|---|
| SQL Serverがインストールされているホスト名の長さは、15 文字以下である必要があります。 | の名前を 15 文字以下の値に変更します。 |
| システム時刻を時間単位で手動で設定すると、SQL Serverはデータベース エンジン内の内部システム時刻の更新を停止します。 | SQL Serverを再起動します。 |
| サポートされているのは単一インスタンスのインストールのみです。 | 特定のホストに複数のインスタンスが必要な場合は、仮想マシンまたは Linux コンテナーの使用を検討してください。 |
| SQL Server 構成マネージャーはSQL Server on Linuxに接続できません。 | なし。 |
| アカウントの既定の言語は英語です。 | ステートメントを使用して、 アカウントの言語を変更してください。 |
OLE DB プロバイダーによって次の警告がログに記録されます: Failed to verify the Authenticode signature of 'C:\binn\msoledbsql.dll'. Signature verification of SQL Server DLLs will be skipped. Genuine copies of SQL Server are signed. Failure to verify the Authenticode signature might indicate that this isn't an authentic release of SQL Server. Install a genuine copy of SQL Server or contact customer support. |
必要なアクションはありません。 OLE DB プロバイダーは SHA256 を使用して署名されています。 SQL Server データベース エンジンは、署名された .dll を正しく検証しません。 |
mssql-confを使用してパスワードリセットコマンドを実行すると、次のエラーが発生します: Unable to set the system administrator password. Please consult the ERRORLOG in /path for more information. |
このエラー メッセージは偽陰性です。 パスワードのリセットが成功し、新しいパスワードを引き続き使用できます。 Applies to: SQL Server 2022 (16.x) コンテナー イメージのみ。 |
データベース
mssql-confユーティリティではデータベースを移動できません。 他のシステム データベースは mssql-conf で移動できます。
WindowsのSQL Serverにバックアップされたデータベースを復元する場合は、Transact-SQL ステートメントで
WITH MOVE句を使用する必要があります。 詳細については、「バックアップと復元を使用してWindowsから Linux にSQL Serverデータベースを削除するを参照してください。トランスポート層セキュリティ (TLS) の特定のアルゴリズム (暗号スイート) が、SQL Server on Linuxで正しく機能しません。 これにより、SQL Serverに接続しようとすると接続エラーが発生し、高可用性グループ内のレプリカ間の接続の確立に関する問題が発生します。
この問題を解決するには、次の手順に従って、SQL Server on Linuxの
mssql.conf構成スクリプトを変更して、問題のある暗号スイートを無効にします。次のセクションを に追加します。 感嘆符 () は式を否定します。 これにより、後続の暗号スイートを使用しないように OpenSSL に指示されます。
[network] tlsciphers=AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:!ECDHE-RSA-AES128-GCM-SHA256:!ECDHE-RSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES256-GCM-SHA384:!ECDHE-ECDSA-AES128-GCM-SHA256:!ECDHE-ECDSA-AES256-SHA384:!ECDHE-ECDSA-AES128-SHA256:!ECDHE-ECDSA-AES256-SHA:!ECDHE-ECDSA-AES128-SHA:!ECDHE-RSA-AES256-SHA384:!ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA:!ECDHE-RSA-AES128-SHA:!DHE-RSA-AES256-GCM-SHA384:!DHE-RSA-AES128-GCM-SHA256:!DHE-RSA-AES256-SHA:!DHE-RSA-AES128-SHA:!DHE-DSS-AES256-SHA256:!DHE-DSS-AES128-SHA256:!DHE-DSS-AES256-SHA:!DHE-DSS-AES128-SHA:!DHE-DSS-DES-CBC3-SHA:!NULL-SHA256:!NULL-SHA次のコマンドを使用してSQL Serverを再起動します。
sudo systemctl restart mssql-server
In-Memory OLTP を使用するWindows上の SQL Server 2014 (12.x) データベースをSQL Server on Linuxに復元することはできません。 SQL Server 2014 (12.x) データベースで In-Memory OLTP が使用されている場合は、まず、Windowsでデータベースを新しいバージョンのSQL Serverにアップグレードします。 その後、バックアップ/復元を使用してSQL Server on Linuxに移動するか、デタッチ/アタッチできます。
ユーザー権限 は、現時点で Linux ではサポートされていません。
SQL Server 2019 (15.x) CU 16 以降のバージョンを使用して作成された TDE 圧縮バックアップは、SQL Server 2019 (15.x) の以前の CU バージョンに復元できません。 詳細については、「FIX: RESTORE LOG または RESTORE DATABASE の実行中にエラー 3241 が発生する」を参照してください。
以前の CU バージョンの SQL Server 2019 (15.x) を使用して作成された Transparent Data Encryption (TDE) 圧縮バックアップは、SQL Server 2019 (15.x) CU 16 以降のバージョンを使用して復元できます。
Ubuntu 22.04 SQL Server 2022 (16.x) をインストールすると、
Failed to start Microsoft SQL Server データベース エンジンというエラー メッセージが表示されることがあります。 エラー ログを確認すると、システム データベースのパスが正しく表示されていません。この問題を回避するには、インスタンスをシングル ユーザー モードで起動し、システム データベースの構成された場所を既定の場所 に移動するために を使用します。 この変更を行った後、サービスを再起動します。
ネットワーク
リンク サーバー、PolyBase、可用性グループなど、 プロセスからの送信 TCP 接続に関連する機能は、次の両方の条件に合致する場合に動作しないことがあります。
ターゲット サーバーは、IP アドレスではなくホスト名として指定されます。
カーネルでは、ソース インスタンスの IPv6 が無効になっています。 システムのカーネルで IPv6 が有効になっているかどうかを確認するには、次のすべてのテストに合格する必要があります。
- は、現在のカーネルのブート コマンドラインを出力します。 この出力に「.」を含めないでください。
- ディレクトリは存在している必要があります。
- を呼び出す C プログラムは成功する必要があります。syscall は を返し、 で失敗してはなりません。
正確なエラーは、機能によって異なります。 リンク サーバーの場合、ログイン タイムアウト エラーが表示されます。 可用性グループの場合、セカンダリの DDL は 5 分後に失敗し、 エラーが発生します。
この問題を回避するには、次のいずれかのオプションを使用します。
ホスト名ではなく IP を使用して、TCP 接続のターゲットを指定します。
ブート コマンド ラインから を削除して、カーネルで IPv6 を有効にします。 メソッドは、Linux ディストリビューションとブートローダー (grub など) によって異なります。 IPv6 を無効にする場合でも、 構成 (たとえば、) で を設定することによって無効にすることができます。 この設定では、システムのネットワーク アダプターが IPv6 アドレスを取得できませんが、 の機能を使用できます。
SQL Server 2022 では TLS 1.3 はサポートされていません
Applies to: SQL Server 2022 (16.x) のみ。
tls 1.3 は Windows の SQL Server 2022 (16.x) でサポートされていますが、Linux では TLS 1.2 を使用する必要があります。
注
TLS 1.3 は、Ubuntu 22.04、Ubuntu 24.04、RHEL 9、および RHEL 10 の SQL Server 2025 (17.x) でサポートされています。 TLS 1.3 は既定で有効になっています。
ネットワーク ファイル システム (NFS)
運用環境で Network File System (NFS) のリモート共有を使用する場合は、次のサポート要件に注意してください。
NFS バージョン 4.2 以降のバージョンを使用します。 前のバージョンの NFS では、最新のファイル システムに共通する やスパース ファイルの作成などの必要な機能がサポートされていません。
NFS マウント上の ディレクトリのみが検索されます。 SQL Server システム バイナリなどの他のファイルはサポートされていません。
リモート共有をマウントするときに NFS クライアントが オプションを使用していることを確認してください。
ローカリゼーション
セットアップ時にロケールが英語 () でない場合は、bash セッション/ターミナルで UTF-8 エンコードを使用する必要があります。 ASCII エンコードを使用すると、次の出力のようなエラーが表示される場合があります。
UnicodeEncodeエラー: 'ascii'コーデックは、文字u'\xf1'を位置8でエンコードできません: 順序が範囲(128)内にありません。
UTF-8 エンコードを使用できない場合は、 環境変数を使用してセットアップを実行し、使用する言語選択を指定します。
sudo MSSQL_LCID=<LcidValue> /opt/mssql/bin/mssql-conf setupmssql-conf setupを実行し、英語以外のSQL Serverのインストールを実行すると、「SQL Serverの構成中…」というローカライズされたテキストの後に不正確な拡張文字が表示されることがあります。 または、ラテン語以外のインストールの場合、文が完全に欠落する可能性があります。 欠落している文には、次のローカライズされた文字列が表示される必要があります。ライセンス PID は正常に処理されました。 新しいエディションは [Name edition] です。"
この文字列は情報提供のみを目的として出力され、SQL Serverの正常なインストールには影響しません。
フルテキスト検索
このリリースでは、Microsoft Office ドキュメントのフィルターを含め、すべてのフィルターを使用できるわけではありません。 サポートされているフィルターの一覧については、「Install SQL Server Full-Text Search on Linux」を参照してください。
SQL Server Integration Services (SSIS)
SUSE Linux Enterprise Server (SLES) では、 パッケージはサポートされていません。 このパッケージは、Ubuntu および Red Hat Enterprise Linux (RHEL) でサポートされています。
Integration Services パッケージでは、Linux 上の ODBC 接続を使用できます。 この機能は、SQL Serverと MySQL ODBC ドライバーでテストされましたが、ODBC 仕様を確認する Unicode ODBC ドライバーでも動作することが期待されます。 デザイン時には、DSN または接続文字列を指定して ODBC データに接続できます。また、Windows 認証を使用することもできます。 詳細については、Linux での ODBC サポートの告知ブログ記事を参照してください。
Linux 上で SSIS パッケージを実行する場合、このリリースでは次の機能はサポートされていません。
- Integration Services カタログ データベース
- SQL Server エージェントによるスケジュールされたパッケージの実行
- Windows認証
- サードパーティ コンポーネント
- 変更データ キャプチャ (CDC)
- Integration Services スケール アウト
- SSIS 用 Azure 機能パック
- Hadoop と HDFS のサポート
- Microsoft Connector for SAP BW(SAP BW用Microsoftコネクタ)
現在サポートされていない、または制限付きでサポートされている組み込み SSIS コンポーネントの一覧については、「Linux の SSIS の制限事項と既知の問題」を参照してください。
Linux の SSIS の詳細については、次の記事を参照してください。
- SSIS の Linux サポートをお知らせするブログ記事。
- Install SQL Server Integration Services (SSIS) on Linux
- SSIS を使用して Linux 上でデータの抽出、変換、読み込みを行う
SQL Server Management Studio (SSMS)
SQL Server on Linuxに接続されているWindowsのSQL Server Management Studioには、次の制限事項が適用されます。
メンテナンス プランはサポートされていません。
SQL Server Management Studioの管理Data Warehouse (MDW) とデータ コレクターはサポートされていません。
Windows認証またはWindowsイベント ログ オプションを持つ UI コンポーネントSQL Server Management Studioは、Linux では機能しません。 これらの機能は、SQL Server ログインなどの他のオプションと共に引き続き使用できます。
保持するログ ファイルの数は変更できません。
高可用性とディザスター リカバリー
Applies to: SQL Server 2022 (16.x) のみ。
SQL Server 2022 (16.x) CU 16 およびそれ以前のバージョンを、SELinux が有効な制限付きアプリケーションとして RHEL 9 上で実行すると、Pacemaker クラスタリングが期待通りに動作しない可能性があります。 Pacemaker クラスタリング機能を利用するには、SELinux が有効になっている未完成のアプリケーションとして SQL Server 2022 (16.x) をインストールする必要があります。 この問題は、SQL Server 2022 (16.x) CU 17 で解決されています。
Machine Learning サービス
Applies to: SQL Server 2022 (16.x) のみ。
RHEL 9 および Ubuntu 22.04 用の SQL Server 2022 (16.x) パッケージの場合、Machine Learning サービスをインストールする前に、cgroup-v1 で考慮する必要があるいくつかの前提条件があります。
- RHEL 9
- Ubuntu 22.04
前提条件として、Red Hat Enterprise Linux 9でcgroupfsを使用してcgroupsを手動管理するために、Red Hatのガイドに従ってcgroupfsを有効にする必要があります。
次に、指示に従って、記載されているように SQL Machine Learning Services をインストールします。
ネットワーク名前空間の分離を無効にします。
sudo /opt/mssql/bin/mssql-conf set extensibility outboundnetworkaccess 1変更を有効にするために サービスを再起動します。
sudo systemctl restart mssql-launchpadd
SQL Server 2025 の既知の問題
次の問題は、SQL Server 2025 (17.x) に影響します。
ハイブリッド CPU アーキテクチャを使用するマシンでSQL Server on Linuxを開始できない
Issue: マシンが Intel 12th Gen 以降のハイブリッド アーキテクチャ CPU を使用していて、ホスト オペレーティング システムが Linux の場合、Linux 上のSQL Server インスタンスの起動に失敗することがあります。
次の出力のようなエラー メッセージが表示される場合があります。
Reason: 0x00000004 Message: ASSERT: Expression=(result * DrtlGetProcessorCoreCount() == DrtlGetProcessorCount()) File=LibOS\Windows\Kernel\SQLPal\common\dk\sos\src\sosnumap.cpp Line=208
Linux ホスト オペレーティング システムを使用する場合は、BIOS で効率コア (E コア) を無効にすることで、この問題を回避できます。 コンテナーや、Windows (WSL を含む) のHyper-Vなどのハイパーバイザーを使用する場合は、影響を受けられません。
Linux オペレーティング システムではサポートされていないローカル ONNX モデル
CREATE EXTERNAL MODEL SQL Server で直接ホストされているローカル ONNX モデルは、SQL Server 2025 (17.x) の Linux では現在使用できません。