在Amazon RDS中托管的SQL Server中自动创建数据库

本文关键字:Server SQL 创建 数据库 Amazon RDS | 更新日期: 2023-09-27 17:58:13

我一直在研究亚马逊RDS中托管的SQL Server。我正计划拥有一个需要多租户解决方案的应用程序——每个客户一个数据库,并有一个用于登录等的核心数据库。

所以我在玩RDS/SQL Server,但也有一些问题需要克服。首先,如何自动创建数据库?我RDS我不能只从bak文件恢复,我想从模板创建数据库架构。有人有这方面的经验吗?如果有,你能给我一些建议吗?

谢谢,

kseudo

在Amazon RDS中托管的SQL Server中自动创建数据库

Generate Scripts是一个很好的起点,但如果您真的想自动化数据库创建,则需要将SQL Server的Generate script输出的脚本转换为模板。

一个很好的方法是创建一个.NET应用程序,甚至只是一个存储过程,一旦您将脚本制作成模板,它就会对脚本进行查找和替换。

  1. 使用所需的所有对象创建模板客户数据库然后编写数据库(所有数据库对象)的脚本
  2. 在C#或SQL中,通过在每个对象名称中包含一个变量来构建动态查询:

     CREATE DATABASE CustomerDB_1 ...
     "CREATE DATABASE CustomerDB_{0}" //Formatted String in C#
     'CREATE DATABASE CustomerDB_' + @vchCustomerID //Dynamic SQL
    

    如果每个对象名称中都有客户ID,并且每个数据库都有唯一的客户ID,那么您只需在用适当的值替换变量后运行查询,就可以完成所有设置。