I have a MSSQL database and I have to push some information from the Nagios' MySQL database to the MS one. So I have configured a linked server in MS SQL and I can insert information from Nagios to the MSSQL. The problem appears when I have to update or insert some of the columns and it is related with the collation, so I checked the collation and charset of the database.
I'm using utf8 as the default database charset and utf8_general_ci as the default collation nevertheless, some of the columns have a different value as you can see in the query below
Code: Select all
SELECT TABLE_SCHEMA , TABLE_NAME , COLUMN_NAME , COLLATION_NAME , CHARACTER_SET_NAME FROM INFORMATION_SCHEMA.COLUMNS where collation_name is not null and collation_name not like 'utf8%' order by collation_name ;
# TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, COLLATION_NAME, CHARACTER_SET_NAME
'nagios2', 'nagios_logentries', 'logentry_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_scheduleddowntime', 'author_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_runtimevariables', 'varvalue', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_runtimevariables', 'varname', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_programstatus', 'global_service_event_handler', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_programstatus', 'global_host_event_handler', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_processevents', 'program_date', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_processevents', 'program_version', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_processevents', 'program_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_objects', 'name2', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_objects', 'name1', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_notifications', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_scheduleddowntime', 'comment_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_instances', 'instance_description', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_instances', 'instance_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hoststatus', 'check_command', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hoststatus', 'event_handler', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hoststatus', 'perfdata', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hoststatus', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'statusmap_image', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'vrml_image', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'icon_image_alt', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'icon_image', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'action_url', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'notes_url', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_timeperiods', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_systemcommands', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_systemcommands', 'command_line', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_statehistory', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicestatus', 'check_command', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicestatus', 'event_handler', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicestatus', 'perfdata', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicestatus', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'icon_image_alt', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'icon_image', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'action_url', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'notes_url', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'notes', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'failure_prediction_options', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'eventhandler_command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'check_command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_services', 'display_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicegroups', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicechecks', 'perfdata', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicechecks', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicechecks', 'command_line', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_servicechecks', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_conninfo', 'disposition', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_customvariables', 'varvalue', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_customvariables', 'varname', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contacts', 'pager_address', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contacts', 'email_address', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contacts', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contactnotificationmethods', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contactgroups', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contact_notificationcommands', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_contact_addresses', 'address', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_conninfo', 'connect_type', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_conninfo', 'connect_source', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_customvariablestatus', 'varname', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_conninfo', 'agent_version', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_conninfo', 'agent_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_configfilevariables', 'varvalue', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_configfilevariables', 'varname', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_configfiles', 'configfile_path', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_comments', 'comment_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_comments', 'author_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_commenthistory', 'comment_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_commenthistory', 'author_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_commands', 'command_line', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_acknowledgements', 'comment_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hostchecks', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'notes', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'failure_prediction_options', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'eventhandler_command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'check_command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'address', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'display_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hosts', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hostgroups', 'alias', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hostchecks', 'perfdata', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hostchecks', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_hostchecks', 'command_line', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_acknowledgements', 'author_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_externalcommands', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_externalcommands', 'command_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_eventhandlers', 'output', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_eventhandlers', 'command_line', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_eventhandlers', 'command_args', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_downtimehistory', 'comment_data', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_downtimehistory', 'author_name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_dbversion', 'version', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_dbversion', 'name', 'latin1_swedish_ci', 'latin1'
'nagios2', 'nagios_customvariablestatus', 'varvalue', 'latin1_swedish_ci', 'latin1'
Is there a real reason to have those columns with a non default configuration? If the response is yes, what is that reason?
Is there a problem if I set to those columns another character set and collation on a live environment? (stopping databases and the application), I would like to use uft8 as charater set and utf8_general_ci as a collation. In that way I could converte it to modern_spanish_ci_as if I want.
Thanks in advance.
BR,
Juanma.