Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando SMO, ainda não vai... ConnectionContext.ExecuteNonQuery(script) não consegue entender GO


"GO" não é linguagem SQL

É um separador de lote usado por ferramentas de cliente como SSMS (que não envia "GO" para o mecanismo de banco de dados)

O SMO não analisa o script em lotes como o SSMS faria, portanto, o mecanismo de banco de dados gera um erro.

Após comentário:

"GO" deve estar em uma linha separada por si só

Seu script é literalmente isso (copiar / colar de quando eu "editar" a pergunta)
USE [master]  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF  GO  ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF  GO

ou esta formatada corretamente?
USE [master]
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [Cassiopeia] SET ANSI_NULLS OFF
GO