由于一名员工辞职,我接到了一个超出我专业领域的项目。
我有一个产品,每个客户都有自己的数据库副本。用于创建数据库的 UI(许可、基本信息收集等)正在外包,所以我希望只有一个他们可以调用的存储过程,提供一些参数,然后让 SP 创建数据库。我有一个用于创建数据库的脚本,但我不确定实际执行该脚本的最佳方式。
根据我的发现,这似乎超出了 SP 可以轻松做到的范围。是否有任何“最佳实践”来处理这种程序流程?
由于一名员工辞职,我接到了一个超出我专业领域的项目。
我有一个产品,每个客户都有自己的数据库副本。用于创建数据库的 UI(许可、基本信息收集等)正在外包,所以我希望只有一个他们可以调用的存储过程,提供一些参数,然后让 SP 创建数据库。我有一个用于创建数据库的脚本,但我不确定实际执行该脚本的最佳方式。
根据我的发现,这似乎超出了 SP 可以轻松做到的范围。是否有任何“最佳实践”来处理这种程序流程?
一般而言,SQL 脚本(DML 和 DDL)是您用于创建和填充数据库的脚本。SQL Server 有一个名为SQLCMD 的命令行界面,可以通过该界面运行这些脚本 - 这是 MSDN 教程的链接。
假设没有对所涉及的表或列进行自定义,您可以使用attach/reattach或backup / restore。这些将要求存在基线数据库 - 没有客户数据。然后,您使用上述任何一种方法按原样捕获数据库。备份/恢复是首选,因为附加/重新附加要求数据库处于脱机状态。但是用户需要先同步才能访问数据库。
如果你有创建数据库的脚本,他们很容易在他们的程序中使用它。您是否有任何特定的先决条件来创建数据库并相应地设置权限,您可以将所有脚本包装在 1 个脚本文件中以执行。