Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

En utilisant SMO, toujours pas aller... ConnectionContext.ExecuteNonQuery(script) ne peut pas comprendre GO

"GO" n'est pas un langage SQL

C'est un séparateur de lots utilisé par des outils clients comme SSMS (qui n'envoie pas "GO" au moteur de base de données)

SMO n'analyse pas le script en lots comme le ferait SSMS, donc le moteur de base de données génère une erreur.

Après commentaire :

"GO" doit être sur une ligne distincte

Votre script est-il littéralement ceci (copier/coller à partir du moment où j'ai "modifié" la question)

USE [master]  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF  GO

ou bien formaté ?

USE [master]
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF
GO