如何使用新版本的 C# .NET (.NET 8) 从 SQL Server 获取创建表脚本?
这里是使用 C# .NET (.NET 8) 控制台应用程序从所有数据库获取创建表脚本的解决方案。 此解决方案使用 Windows 身份验证连接到本地 SQL Server。
using Microsoft.SqlServer.Management.Smo;
using System.Collections.Specialized;
using System.Text;
Server srv = new Server();
var dbs = srv.Databases;
StringBuilder sb = new StringBuilder();
foreach (Database db in dbs)
{
foreach (Table tbl in db.Tables)
{
ScriptingOptions options = new ScriptingOptions();
options.ClusteredIndexes = true;
options.Default = true;
options.DriAll = true;
options.Indexes = true;
options.IncludeHeaders = true;
StringCollection coll = tbl.Script(options);
foreach (string str in coll)
{
sb.Append(str);
sb.Append(Environment.NewLine);
}
}
}
System.IO.StreamWriter fs = System.IO.File.CreateText("tables.txt");
fs.Write(sb.ToString());
fs.Close();