C# 在托管在Amazon RDS中的SQL Server中自动创建数据库
我一直在研究AmazonRDS中托管的SQL Server。我计划有一个应用程序,需要多租户解决方案-每个客户一个数据库与一个核心数据库登录等 所以我在玩RDS/SQL Server,但我需要克服一些问题。首先,如何自动创建数据库?我不能仅仅从bak文件恢复,我想从模板创建数据库模式。有没有人有这方面的经验?如果有,你能给我一些建议吗 谢谢C# 在托管在Amazon RDS中的SQL Server中自动创建数据库,c#,sql-server,amazon-rds,C#,Sql Server,Amazon Rds,我一直在研究AmazonRDS中托管的SQL Server。我计划有一个应用程序,需要多租户解决方案-每个客户一个数据库与一个核心数据库登录等 所以我在玩RDS/SQL Server,但我需要克服一些问题。首先,如何自动创建数据库?我不能仅仅从bak文件恢复,我想从模板创建数据库模式。有没有人有这方面的经验?如果有,你能给我一些建议吗 谢谢 kseudo生成脚本是一个很好的起点,但是如果您真的想自动化数据库创建,您需要将SQL Server的生成脚本输出的脚本转换为模板 这样做的一个好方法是创建
kseudo生成脚本是一个很好的起点,但是如果您真的想自动化数据库创建,您需要将SQL Server的生成脚本输出的脚本转换为模板 这样做的一个好方法是创建一个.NET应用程序,甚至只是一个存储过程,一旦将脚本制作成模板,它将对脚本执行查找和替换
CREATE DATABASE CustomerDB_1 ...
"CREATE DATABASE CustomerDB_{0}" //Formatted String in C#
'CREATE DATABASE CustomerDB_' + @vchCustomerID //Dynamic SQL
如果每个对象名称中都有客户ID,并且每个数据库都有一个唯一的客户ID,那么您只需在用适当的值替换变量后运行查询,就可以完成所有设置你考虑过使用SMO吗?(或者)或者简单地使用Management Studio和“生成脚本…”任务?哦,如果你不使用无限的DB计划,那么要考虑亚马逊RDS。您可以始终拥有一个主数据库,每个客户都有不同的表——每个客户都可以有自己的模式,您不必担心数据库限制的最大数量。不确定这是否适用于你,但只是一个想法。谢谢Chris,你最初的帖子给了我一些关于如何解决我的问题的想法。如果我取得了一些进展,我将再次发布。。。再次感谢@kSeudo,我正在研究类似的设置。我们需要为所有客户提供单独的数据库,但创建过程耗时太长,我们希望实现自动化。你是否按照克里斯的建议解决了你的问题?提前谢谢。