SQL Server 2016 エージェントの起動に失敗するか、SSMS 2016 からエラー ログを読み取ろうとしたときに "データの取得に失敗しました" エラー
この記事では、古いバージョンの MS ODBC 13 ドライバーを使用する場合に SSMS で発生するさまざまな問題と、これらの問題の解決策について説明します。
元の製品バージョン: SQL Server 2016 開発者
元の KB 番号: 3185365
現象
Microsoft SQL Server 2016 RTM または SQL Server 2016 RTM CU1 という名前のインスタンスがある場合、次のいずれかの現象が発生する可能性があります。
現象 1
SQL Server エージェント ログ ファイルには、次のようなメッセージが表示されます。
2016-08-06 14:54:41 - ! [000] サーバー 'servername\instancename' に接続できません。SQLServerAgent を起動できません
2016-08-06 14:54:46 - ! [298] SQLServer エラー:
65535、SQL Server ネットワーク インターフェイス: 指定されたサーバー/インスタンスの検索エラー
[xFFFFFFFF]。 [SQLSTATE 08001]
2016-08-06 14:54:46 - ! [165] ODBC エラー: 0、
ログイン タイムアウトの有効期限が切れた [SQLSTATE HYT00]
2016-08-06 14:54:46 - ! [298]
SQLServer エラー: 65535、SQL Serverへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。
サーバーが見つからないか、アクセスできません。
インスタンス名が正しいかどうか、およびリモート接続を許可するように SQL Server が構成されているかどうかを確認します。 詳細については、「オンライン ブックのSQL Server」を参照してください。 [SQLSTATE 08001]
現象 2
SQL Serverエラー ログを読み取ろうとすると、試行が失敗し、次のようなエラーが返されます。
この要求のデータを取得できませんでした。 (Microsoft.SqlServer.Management.Sdk.Sfc)
Transact-SQL ステートメントまたはバッチの実行中に例外が発生しました。 (Microsoft.SqlServer.ConnectionInfo)
さらに、xp_readerrorlogを実行しようとすると、次のエラーが発生する可能性があります。
Msg 22004、レベル 16、状態 1、行 0
ループバック接続を開けませんでした。 詳細については、イベント ログを参照してください。
Msg 22004、レベル 16、状態 1、行 0
エラー ログの場所が見つかりません。
現象 3
古いバックアップ ファイルやレポート ファイルを "サイレント" に削除するメンテナンス クリーンアップ タスクなど、特定のメンテナンス プランまたは SQL エージェント ジョブは失敗します。 クリーンアップ タスクの場合、対応するジョブの実行時に削除されると予想されるファイルは削除されず、SQL Server ログにエラーは書き込まれません。 を実行すると sp_readerrorlog
、現象 2 が発生します。
原因
この問題は、MS ODBC 13 ドライバーの欠陥が原因で発生します。 SQL Server Management Studio (SSMS) とSQL Server エージェント、このドライバーを使用してコンピューター SQL Server接続します。
解決方法
この問題は、 MS ODBC 13.1 ドライバーで修正されています。