不确定这是属于这里还是属于ServerFault,但我想知道是否有人知道导出SQL Server 2008架构的免费工具?它仅适用于表及其索引,外键等,它需要是一个命令行工具才能作为构建过程的一部分运行。如果它可以读取.net连接字符串,那将是很棒的(因此.net标记)
不需要数据,任何类型的版本控制/差异也是“不错,但不需要”。是的,我知道Red-Gate的令人敬畏的SQL Server工具,遗憾的是这是一个0预算的爱好项目: - (
答案 0 :(得分:5)
不确定现成的工具,但它很容易使用SMO库(Microsoft.SqlServer.Smo,.SmoEnum,.SqlEnum):
using Microsoft.SqlServer.Management.Smo;
var server = new Server("localhost");
var database = server.Databases["databaseName"];
var transfer = new Transfer(database);
var options = new ScriptingOptions();
// set transfer and options object properties to reflect what you want to script:
// i.e. all tables, indexes, triggers, etc.
options.FileName = "c:\\temp\\databaseName_schema.sql";
transfer.Options = options;
transfer.ScriptTransfer();
我使用此方法构建了一个简单的工具,以重新生成我的产品的数据库创建脚本,作为安装构建器中预构建步骤的一部分。
答案 1 :(得分:2)
出于好奇,您是否尝试在Visual Studio中使用SQL Server项目?
另一种方法是通过SQL脚本,因为我相信你已经知道了。可以使用generate script命令在命令行中运行。
答案 2 :(得分:2)
您始终可以使用SQL Server Management Studio执行此操作,右键单击数据库,选择“任务”,然后选择“生成脚本”。
答案 3 :(得分:1)
在CodePlex上有几个这样的免费命令行工具。其中一个是Scriptio,here。
答案 4 :(得分:0)
$ pip install mssql-scripter
# script the database schema and data piped to a file.
$ mssql-scripter -S localhost -d AdventureWorks -U sa > ./adventureworks.sql
更多用法示例在我们的GitHub页面上:https://github.com/Microsoft/sql-xplat-cli/blob/dev/doc/usage_guide.md