我一直在对托管在 Amazon RDS 中的 SQL Server 进行一些研究。我计划拥有一个需要多租户解决方案的应用程序 - 每个客户一个数据库,一个用于登录的核心数据库等。
所以我在玩 RDS/SQL Server,但是我需要克服一些问题。首先如何自动创建数据库?I RDS 我不能只从 bak 文件中恢复,我想从模板创建数据库模式。有没有人有这方面的经验,如果有,你能给我一些建议吗?
谢谢,
克苏多
我一直在对托管在 Amazon RDS 中的 SQL Server 进行一些研究。我计划拥有一个需要多租户解决方案的应用程序 - 每个客户一个数据库,一个用于登录的核心数据库等。
所以我在玩 RDS/SQL Server,但是我需要克服一些问题。首先如何自动创建数据库?I RDS 我不能只从 bak 文件中恢复,我想从模板创建数据库模式。有没有人有这方面的经验,如果有,你能给我一些建议吗?
谢谢,
克苏多
Generate Scripts 是一个很好的起点,但如果您真的想自动创建数据库,您需要将从 SQL Server 的 Generate Script 输出的脚本转换为模板。
这样做的一个好方法是创建一个 .NET 应用程序,或者甚至只是一个存储过程,一旦您将其制成模板,它将在脚本上执行查找和替换。
在 C# 或 SQL 中,通过在每个对象名称中包含一个变量来构建动态查询:
CREATE DATABASE CustomerDB_1 ...
"CREATE DATABASE CustomerDB_{0}" //Formatted String in C#
'CREATE DATABASE CustomerDB_' + @vchCustomerID //Dynamic SQL
如果每个对象名称中都有客户 ID,并且每个数据库都有唯一的客户 ID,那么您可以在将变量替换为适当的值后简单地运行查询,一切就绪。