2017-07-27 29 views
1

我正在編寫一個SMO腳本來將我的SQL Server 2016數據庫導出到文本文件。然而,Scripter總是預先將這個評論我的腳本之前:如何在使用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 
*/ 

如何禁用此評論的產生?

我嘗試將IncludeHeaders設置爲false/true但這樣可以啓用/禁用其他評論。

我使用SMO是這樣的:

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); 
} 

或腳本與

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

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

表或其他對象時,註釋被添加。

回答

2

顯然,這是一個帶有SSMS v17.2,但有沒有一個SMO腳本選項標誌來關閉它的新功能。應該在SSMS的下一個版本中。

微軟連接查看後:

發佈Microsoft在2017年8月29日,在下午1:44我將添加一個新的 腳本選項在下一個版本的 SMO/SSMS中生成標題。這對於默認是錯誤的,這意味着除非你明確地啓用它,否則你不會得到新的頭文件。感謝您的 反饋! -Charles Gagnon([email protected]