从存储过程中创建新数据库

时间:2010-07-20 20:03:00

标签: sql-server sql-server-2008 database-migration

由于员工辞职,我获得的项目超出了我的专业领域。

我有一个产品,每个客户都有自己的数据库副本。用于创建数据库的UI(许可,基本信息收集等)正在外包,因此我希望只有一个可以调用的存储过程,提供一些参数,并让SP创建数据库。我有一个用于创建数据库的脚本,但我不确定实际执行脚本的最佳方法。

从我发现的情况来看,这似乎超出了SP容易做到的范围。处理这种程序流程有什么“最佳实践”吗?

2 个答案:

答案 0 :(得分:3)

一般来说,SQL脚本(DML和DDL)都是用于数据库创建和填充的脚本。 SQL Server有一个名为SQLCMD that these scripts can be run through - here's a link to the MSDN tutorial的命令行界面。

假设没有对所涉及的表或列进行自定义,您可以使用attach/reattachbackup / restore。这些将要求存在基线数据库 - 没有客户数据。然后使用上述任一方法按原样捕获数据库。备份/恢复是首选,因为附加/重新附加需要数据库脱机。但是用户需要先同步才能访问数据库。

答案 1 :(得分:0)

如果你有创建数据库的脚本,他们很容易在他们的程序中使用它。您是否有任何特定的先决条件来创建数据库&相应地设置权限,您可以将1个脚本文件中的所有脚本包装起来执行。