【问题标题】:Creating a New Database from Within a Stored Procedure从存储过程中创建新数据库
【发布时间】:2011-03-18 15:47:52
【问题描述】:

由于一名员工离职,我接到了一个超出我专业领域的项目。

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

根据我的发现,这似乎超出了 SP 可以轻松完成的范围。处理这种程序流程是否有任何“最佳实践”?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

      • 使用备份/恢复听起来很有希望。如果可行,我会对此进行调查并将其标记为答案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 2021-11-28
      • 2011-12-16
      • 1970-01-01
      • 2019-02-14
      • 1970-01-01
      • 2016-08-29
      相关资源
      最近更新 更多