2017-02-03 19 views
0

多くの異なるアプリケーションによってアクセスされる1つのSQL Serverインスタンスがあります。 このようなアプリケーションの1つでは、「文字列またはバイナリデータが切り捨てられる」という例外がスローされます。ログ '文字列またはバイナリデータが切り捨てられます' SQL Server側

私の目的は、エラーが発生したときにトレース(ロギング)し、どのアプリケーションがどのフィールドで問題に遭遇したかを追跡することです。 私はすべてのアプリケーションのコードにアクセスすることができませんので、私の最初のアイデアはSQL Serverで直接ソリューションを開発することですが、問題が発生したかどうか、どのフィールドにチェックするかわかりません。

+0

このようなエラーを追跡して追跡するには、拡張イベントを使用します。この特定のエラーは8152です。https://blogs.msdn.microsoft.com/grahamk/2010/12/10/extended-event-to-track-and-trace-syntax-errors/ – cloudsafe

答えて

0

しかし、私はどのように問題が発生しているか、どのフィールドで確認できるか分かりません。

も、SQLサーバはoccurred.Thereが同じ

https://connect.microsoft.com/SQLServer/feedback/details/339410/please-fix-the-string-or-binary-data-would-be-truncated-message-to-give-the-column-name

のためにログに記録された接続項目、あるフィールドであなたを教えてくれませんしかし、あなたがして、それらのエラーをキャッチすることができますシンプルな試しにキャッチしてログに記録する

create table #t1 
(
charcol char(1) 

) 


begin try 
insert into #t1 
values 
    ('a'), 
    ('aa') 
end try 

begin catch 
select error_message() 
end catch 
+0

私はこれらの操作を制御できません、サードパーティのソフトウェアは、このSQL Serverインスタンス上で動作し、私はこのインスタンスを監視する必要があります。 私はこれらのソフトウェアのいくつかはLinqToSqlまたはEFを使用してDBに接続していると私は彼らのactiviteis(アクティビティモニタ)を見ることができますが、私はどのようにこのエラーをスローするactvitiesを分離するのか分からない – Skary

関連する問題