Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Mit SMO geht es immer noch nicht ... ConnectionContext.ExecuteNonQuery (Skript) kann GO nicht verstehen

"GO" ist keine SQL-Sprache

Es ist ein Batch-Trennzeichen, das von Client-Tools wie SSMS verwendet wird (das kein "GO" an die Datenbank-Engine sendet)

SMO zerlegt das Skript nicht in Stapel, wie es SSMS tun würde, daher gibt die Datenbank-Engine einen Fehler aus.

Nach Kommentar:

„GO“ muss in einer eigenen Zeile stehen

Ist Ihr Skript wörtlich so (kopieren/einfügen, wenn ich die Frage "bearbeite")

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

oder diese richtig formatiert?

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