Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Usando SMO, ancora niente... ConnectionContext.ExecuteNonQuery(script) non riesce a capire GO

"GO" non è un linguaggio SQL

È un separatore batch utilizzato da strumenti client come SSMS (che non invia "GO" al motore di database)

SMO non analizza lo script in batch come farebbe SSMS, quindi il motore di database genera un errore.

Dopo il commento:

"GO" deve trovarsi su una riga separata da solo

Il tuo script è letteralmente questo (copia/incolla da quando ho "modificato" la domanda)

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

o questo formattato correttamente?

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