Консоль SQL Server как элемент управления для ASP.NET - PullRequest
1 голос
/ 26 апреля 2009

Я развертываю веб-сайт и мне нужно запустить большие сценарии TSQL, содержащиеся в одном файле, на рабочем сервере, где у меня нет полного доступа к консоли SQL Server, и я не могу подключиться удаленно. Скрипты представляют собой смесь таблиц, хранимых процедур и представлений представлений. Все, что я могу сделать - это запустить 1 группу предложений TSQL, например, для хранимой процедуры.

У меня есть два варианта: проанализировать файл вручную в поисках предложений GO и запустить каждый блок предложений перед этим GO, или выполнить ту же задачу, но с помощью инструмента. Используя инструмент, я очень быстро справлюсь с задачей, но я не знаю такого инструмента, чтобы ...

Вы знаете какой-нибудь инструмент, который я могу использовать?

Я думаю, что это должно быть что-то вроде элемента управления с редактором, в который я буду вставлять или загружать скрипты для запуска, и он сможет анализировать и запускать их последовательно, как это обычно делает Microsoft SQL Server Management.

Ответы [ 3 ]

1 голос
/ 26 апреля 2009

у вас есть много вариантов

  • обычно я создаю хранимую процедуру в sql management studio, затем сохраняю ее как строку, а затем использую linq2sql для выполнения хранимой процедуры, работает очень хорошо.

  • используйте объект sql server smo, где вы действительно можете делать в основном много вещей, таких как создание БД, таблиц, это действительно круто, я создаю 1 страницу на своем сайте и использую ее для обновления БД. вот хорошая ссылка для этого http://www.sqldbatips.com/showarticle.asp?ID=34

  • вы можете использовать Redgate SQL для сравнения данных и сравнения. они действительно качают, чтобы синхронизировать БД, это сэкономило мне много времени, и это очень просто, очень рекомендуется на самом деле.

надеюсь, это поможет.

1 голос
/ 26 апреля 2009

Вы можете ознакомиться с некоторыми статьями по CodeProject по этой теме и, возможно, использовать один из этих инструментов / компонентов для своих нужд?

Большинство из них поставляются с полным исходным кодом и могут также послужить отправной точкой для создания собственной версии.

Марк

0 голосов
/ 26 апреля 2009

Если они не работают, довольно легко написать такой инструмент самостоятельно. Просто используйте Regex.Split, чтобы разделить текст на строках GO, затем выполните цикл, вызывая ExecuteNonQuery для каждого раздела.

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