2010-07-20 8 views
1

Из-за того, что сотрудник ушел, мне был предоставлен проект, который находится за пределами моей компетенции.Создание новой базы данных из хранимой процедуры

У меня есть продукт, в котором каждый клиент будет иметь свою собственную копию базы данных. Пользовательский интерфейс для создания базы данных (лицензирование, базовая инфо-коллекция и т. Д.) Передается на аутсорсинг, поэтому я надеялся иметь только одну хранимую процедуру, которую они могут вызывать, предоставляя несколько параметров и создавая базу данных SP. У меня есть скрипт для создания базы данных, но я не уверен, что лучший способ выполнить сценарий.

Из того, что я нашел, это, кажется, выходит за рамки того, что SP легко может сделать. Существует ли какая-либо «передовая практика» для обработки такого рода потоков программ?

ответ

3

Вообще говоря, SQL-скрипты - как DML, так и DDL - это то, что вы используете для создания базы данных и совокупности. SQL Server имеет интерфейс командной строки: SQLCMD that these scripts can be run through - here's a link to the MSDN tutorial.

Предполагая, что нет необходимости в настройке таблиц или столбцов, вы можете уйти с использованием либо attach/reattach, либо backup/restore. Для этого потребуется базовая база данных - данные клиента отсутствуют. Затем вы используете один из методов, упомянутых для захвата базы данных как есть. Резервное копирование/восстановление предпочтительнее, потому что для подключения/повторной привязки требуется, чтобы база данных была отключена. Но пользователи должны быть синхронизированы, прежде чем они смогут получить доступ к базе данных.

+1

Использование резервного копирования/восстановления звуков многообещающее. Я рассмотрю это и пометьте это как ответ, если это сработает. – kyork

0

Если у вас есть сценарий для создания базы данных, им легко использовать его в своей программе. У вас есть какой-либо конкретный предварительный вариант для создания базы данных & соответственно, чтобы завершить выполнение всех сценариев в 1 файле сценария.