2017-07-27 5 views
1

J'écris un script SMO pour exporter ma base de données SQL Server 2016 dans un fichier texte. Cependant, le Scripter prepends toujours ce commentaire avant mon script:Comment désactiver le commentaire lors de l'utilisation de SMO

/* ==Scripting Parameters== 

    Source Server Version : Version140 (14.0.600) 
    Source Database Engine Edition : Enterprise 
    Source Database Engine Type : Standalone 

    Target Server Version : Version140 
    Target Database Engine Edition : Enterprise 
    Target Database Engine Type : Standalone 
*/ 

Comment puis-je désactiver la génération de ce commentaire?

J'ai essayé de définir IncludeHeaders à false/true mais cela active/désactive un autre commentaire.

J'utilise SMO comme ceci:

var connectionString = "..."; 
var serverConnection = new ServerConnection(new SqlConnection(connectionString)); 
var sqlServer = new Smo.Server(serverConnection); 
var createDbScriptOptions = new Smo.ScriptingOptions(); 
createDbScriptOptions.NoFileGroup = true; 
createDbScriptOptions.IncludeFullTextCatalogRootPath = false; 
StringCollection strcoll = db.Script(createDbScriptOptions); 
foreach (String st in strcoll) 
{ 
    Console.WriteLine(st); 
} 

Ou quand les scripts tables ou autres objets avec

scripter.Script(new Urn[] { tb.Urn } 

ou

scripter.EnumScript(new Urn[] { tb.Urn } 

le commentaire est ajouté aussi.

Répondre

2

Apparemment, c'est une nouvelle fonctionnalité qui vient avec SSMS V17.2 et il n'y a pas encore d'options de script SMO drapeau pour désactiver. Devrait être dans la prochaine version de SSMS.

Voir message sur Microsoft Connect:

Publié par Microsoft sur 29/08/2017 à 13:44 Je vais ajouter une nouvelle option de script pour produire l'en-tête dans la prochaine version de SMO/SSMS. Cela sera faux pour le défaut, ce qui signifie que vous n'obtiendrez pas le nouvel en-tête à moins que vous ne l'activiez spécifiquement. Merci pour les commentaires! -Charles Gagnon ([email protected])