Sql-server – How to change SQL Agent Log file to use unicode format

logssql serversql-server-2012sql-server-agent

I've created a database with tables that heavily leverages nvarchar for most of the columns. One of the challenges I'm running into is that when I go to view the SQL Server Agent Log files, I get the following error noted below. I've been scouring Google and haven't been able to find anything that closely resembles the scenario I'm experiencing. Short of re-installing the entire server (which is really isn't an option at this point), how can I flip some sort of switch to make the log files readable again?

(Sorry don't have enough rep here to post an image. Here's the link to the image.)

http://i.stack.imgur.com/VW7hw.png

Here's the details behind it:

===================================

The log file is not using Unicode format. (.Net SqlClient Data Provider)


For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.3000&EvtSrc=MSSQLServer&EvtID=22004&LinkId=20476


Server Name:
Error Number: 22004
Severity: 16
State: 1


Program Location:

at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action
1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.SqlServer.Management.SqlManagerUI.LogSourceSqlAgent.InitializeInternal()
at Microsoft.SqlServer.Management.SqlManagerUI.LogSourceSqlAgent.Microsoft.SqlServer.Management.SqlManagerUI.ILogSource.Initialize()
at Microsoft.SqlServer.Management.SqlManagerUI.LogSourceAggregation.Microsoft.SqlServer.Management.SqlManagerUI.ILogSource.Initialize()

Best Answer

@spaghettidba's solution worked for this matter. By unchecking the 'Write OEM error log' check box (cycled the server as well) by right clicking 'Error Logs' under (servername) -> SQL Server Agent -> Error Logs (in the SQL Server Management Studio) the logs started writing and were readable again.