- [アーティクル]
-
-
この記事では、Azure Synapse Analytics の専用 SQL プール (旧称 SQL DW) における一般的な問題のトラブルシューティングについて説明します。
接続する
問題 |
解決方法 |
ユーザー ' NT AUTHORITY\ANONYMOUS LOGON' はログインできませんでした。 (Microsoft SQL Server、エラー:18456) |
このエラーは、Microsoft Entra ユーザーが master データベースに接続しようとするが、master にユーザーがいない場合に発生します。 この問題を解決するには、接続時に接続する専用 SQL プール (旧称 SQL DW) を指定するか、master データベースにユーザーを追加します。 詳細については、「セキュリティの概要」を参照してください。 |
サーバー プリンシパル "MyUserName" が、現在のセキュリティ コンテキストでデータベース master にアクセスできません。 ユーザーの既定データベースを開けません。 ログインできませんでした。 ユーザー 'MyUserName' はログインできませんでした。 (Microsoft SQL Server、エラー:916) |
このエラーは、Microsoft Entra ユーザーが master データベースに接続しようとするが、master にユーザーがいない場合に発生します。 この問題を解決するには、接続時に接続する専用 SQL プール (旧称 SQL DW) を指定するか、master データベースにユーザーを追加します。 詳細については、「セキュリティの概要」を参照してください。 |
CTAIP エラー |
このエラーは、ログインが特定の SQL データベースではなく、SQL Database master データベース上で作成された場合に発生する可能性があります。 このエラーが発生した場合は、 セキュリティの概要 に関する記事を参照してください。 この記事では、master データベースにログインとユーザーを作成する方法、および SQL データベースにユーザーを作成する方法について説明します。 |
ファイアウォールによってブロックされる |
専用 SQL プール (旧称 SQL DW) は、ファイアウォールによって保護されており、既知の IP アドレスのみがデータベースにアクセスできます。 ファイアウォールは、既定でセキュリティ保護されています。つまり、接続する前に、IP アドレスまたはアドレス範囲を明示的に有効にする必要があります。 ファイアウォールでアクセスを構成するには、プロビジョニングの手順のクライアント IP 用のサーバー ファイアウォール アクセスの構成に関するセクションの手順に従ってください。 |
ツールまたはドライバーで接続できない |
専用 SQL プール (旧称 SQL DW) では、SQL Server Management Studio (SSMS)、SSDT for Visual Studio、または sqlcmd を使用してデータのクエリを実行することをお勧めします。 ドライバーの詳細や Azure Synapse への接続の詳細については、Azure SQL Data Warehouse のドライバーに関する記事および Azure Synapse への接続に関する記事をご覧ください。 |
問題 |
解決策 |
Visual Studio オブジェクト エクスプローラーに Microsoft Entra ユーザーが表示されない |
これは既知の問題です。 回避策として、ユーザーを sys.database_principals で表示してください。 専用 SQL プール (旧称 SQL DW) での Microsoft Entra ID の使用方法の詳細については、Azure Synapse に対する認証に関する記事を参照してください。 |
手動でのスクリプト作成、スクリプト作成ウィザードの使用、または SSMS を介した接続が、遅かったり、応答しなかったり、エラーが発生したりする |
ユーザーが master データベース内に作成されているかどうかを確認してください。 また、スクリプト作成オプションで、エンジンのエディションが "Microsoft Azure Synapse Analytics Edition" と設定されており、エンジンの種類が "Microsoft Azure SQL Database" となっていることも確認してください。 |
SSMS でスクリプト生成に失敗する |
[依存オブジェクトのスクリプトを生成する] オプションが [True] に設定されている場合、専用 SQL プール (以前 SQL DW) のスクリプトを生成できません。回避策として、ユーザーは手動で [ツール]->[ オプション]-> SQL Server オブジェクトエクスプローラー->[依存オプションのスクリプトを生成する]と [false] に設定する必要があります。 |
データの取り込みと準備
問題 |
解決方法 |
CETAS を使用して空の文字列をエクスポートすると、Parquet と ORC のファイルの値が NULL になります。 NOT NULL 制約のある列から空の文字列をエクスポートする場合は、CETAS によってレコードが拒否され、エクスポートが失敗する可能性があることに注意してください。 |
CETAS の SELECT ステートメントで、空の文字列または問題のある列を削除します。 |
Parquet および ORC ファイル形式の tinyint 型の列に 0 ~ 127 の範囲外の値を読み込むことはサポートされていません。 |
ターゲット列に対してより大きなデータ型を指定してください。 |
メッセージ 105208、レベル 16、状態 1、行 1 オプション 'FROM' の値の検証時に次のエラーで COPY ステートメントが失敗しました: '105200;オプション 'FROM' の値が無効であるため、COPY ステートメントが失敗しました。' |
現在、新しい DNS パーティション分割機能を使っている Azure ストレージ アカウントに COPY コマンドを使ってデータを取り込むと、エラーが発生します。 DNS パーティション機能を使うと、サブスクリプションあたり最大 5,000 個のストレージ アカウントを作成できます。 解決するには、新しい Azure Storage DNS パーティション機能 (現在パブリック プレビュー段階) を使っていないサブスクリプションに、ストレージ アカウントをプロビジョニングします。 |
システム管理
SQL Database との違い
次のステップ
問題の解決策は、以下のその他のリソースで探してみることができます。