使用C# .NET从SQL Server获取建表脚本

问题描述 投票:0回答:1

如何使用新版本的 C# .NET (.NET 8) 从 SQL Server 获取创建表脚本?

c# sql-server-2012
1个回答
0
投票

这里是使用 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();
© www.soinside.com 2019 - 2024. All rights reserved.