Comment peut-I du programme, vérifier (parse) la validité d'une instruction TSQL?

Je suis en train de faire mes tests d'intégration plus idempotent. Une idée est d'exécuter la restauration après chaque test, l'autre idée était d'une certaine façon par programmation à l'analyse du texte, semblable à la case à cocher verte dans l'Analyseur de Requêtes ou de SSMS.

Comment puis-je obtenir SQL Server pour analyser ma commande sans l'exécuter à l'aide de ADO.NET?

Mise à JOUR:
C'est ce qui a finalement fonctionné comme souhaité:

using (DbCommand executeOnly = Factory.DbCommand())
{
    executeOnly.Connection = command.Connection;
    executeOnly.CommandType = CommandType.Text;
    executeOnly.CommandText = "SET NOEXEC ON;" + sqlCommand;
    executeOnly.Connection.Open();
    executeOnly.ExecuteNonQuery();
}
//set more properties of command.
command.Execute();

Pour des raisons inexplicables, "SET PARSEONLY ON" n'a travaillé que dans l'Analyseur de Requêtes. Je ne pouvais pas définir ce sur une ADO.NET connexion. Il est tout aussi bien parce que PARSEONLY semble à attraper les erreurs de syntaxe, ce qui n'est pas une erreur commune. SET NOEXEC ON va attraper un plus large variétés d'erreurs, par exemple une vue qui fait référence à un manque de table ou de colonne ou la disparition d'un paramètre dans une procédure stockée.

  • Question intéressante en effet
  • Je suis en supposant que c'est executeOnly.CommandText = "SET NOEXEC ON; " + sqlCommand; :3