Бесплатный экспорт схем для SQL Server 2008? - PullRequest
4 голосов
/ 17 декабря 2009

Не уверен, относится ли это здесь или к ServerFault, но мне интересно, знает ли кто-нибудь бесплатный инструмент для экспорта схемы SQL Server 2008? Он предназначен только для таблиц и их индексов, внешних ключей и т. Д. И должен быть инструментом командной строки для запуска в процессе сборки. Если он может читать строку подключения .net, это было бы здорово (отсюда и тег .net)

Данные не нужны, и любой тип управления версиями / diff также "Хороший, но не необходимый". И да, я знаю об удивительных инструментах SQL Server от Red-Gate, к сожалению, это хобби-проект с нулевым бюджетом: - (

Ответы [ 5 ]

5 голосов
/ 17 декабря 2009

Не уверен насчет готового инструмента, но это достаточно просто сделать с помощью библиотеки 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();

Я создал простой инструмент, использующий этот метод, для регенерации сценария создания базы данных моего продукта в рамках этапов предварительной сборки в компоновщике установки.

2 голосов
/ 17 декабря 2009

Вы всегда можете использовать SQL Server Management Studio для этого, щелкнуть правой кнопкой мыши базу данных, выбрать «Задачи», а затем «Создать сценарии».

2 голосов
/ 17 декабря 2009

Просто из любопытства вы пытались использовать проекты SQL Server в Visual Studio?

Еще один способ сделать это - с помощью сценариев SQL, как я уверен, вы знаете. Думаю, можно создать команду сценария для запуска в командной строке.

1 голос
/ 17 декабря 2009

В CodePlex есть несколько бесплатных инструментов командной строки. Одним из них является Scriptio, здесь .

0 голосов
/ 12 июня 2017

Microsoft выпустила новый инструмент несколько недель назад под названием mssql-scripter. Это бесплатный инструмент на основе Python с открытым исходным кодом, и вы можете найти официальное объявление здесь . По сути, сценарий позволяет генерировать сценарий T-SQL для вашей базы данных / объекта базы данных в виде файла .sql. Вы можете сгенерировать файл и затем выполнить его. Это может быть хорошим решением для вас, чтобы сгенерировать схему (опция по умолчанию) вашей базы данных и ее объектов, таких как таблицы и индексы, чтобы также увидеть diff, так как генерируется файл .sql. Вот быстрый пример использования, чтобы вы начали:

$ 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...