Eu desisti de tentar consertar um programa php (que é obviamente voltado para MySQL) rodando no SQL Server.
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Incorrect syntax near '`'. for query UPDATE wp_posts SET post_author = yyy, post_date = N'2017-04-16 16:52:44.000', post_date_gmt = N'2017-04-16 14:52:44.000', post_content = N'\\ \', `post_content_filtered` = N'', `post_title` = N'test \\', `post_excerpt` = N'', `post_status` = N'draft', `post_type` = N'post', `comment_status` = N'closed', `ping_status` = N'open', `post_password` = N'', WHERE ID = xxx made by edit_post, wp_update_post, wp_insert_post, pdo_wpdb->query, pdo_wpdb->_post_query, pdo_wpdb->print_error
É possível criar um filtro apenas em um banco de dados específico e remover todos os backticks/símbolos graves para sanear todas as consultas recebidas?
Não, não é possível interceptar e alterar consultas.
Se alguém colocasse milhões de dólares na minha frente para conseguir, posso imaginar construir um aplicativo compatível com fio que agia como se estivesse recebendo consultas, depois reescrevê-las e passá-las para outra camada. No entanto, isso não é um pequeno exercício, e é deixado para o leitor. Esse é o tipo de coisa que GreenSQL (agora Hexatier ) estava fazendo, sentado entre os aplicativos e o SQL Server, fazendo cache e auditoria.
É possível interceptar e alterar consultas usando um proxy de banco de dados inteligente.
Não tenho certeza do que aconteceu com o GreenSQL (eles parecem ter caído da face da terra), mas o Gallium Data pode fazer isso para MySQL, Postgres e SQL Server.