我正在使用具有SQL Server数据库的saas应用程序。我在特定模式中拥有表,函数和存储过程(即customer1.table1,customer1.spGetCustomers等)。我想要一种将整个模式表,函数,存储过程,索引,键等复制到每个新客户的新空模式的方法。我希望有一种快速简便的方法来执行此操作,以便我可以为每个新客户添加新模式,并使所有内容完全分开。由于成本和额外的维护,我不想为每个客户提供一个新的数据库。
请帮助。
在创建脚本中使用SQLCMD变量。您将编写独立于架构的创建对象脚本,例如:
CREATE TABLE [$(schema)].Table1 ...
CREATE PROCEDURE [$(schema)].Proc1...
然后您将其执行为:
sqlcmd -v schema ="Customer1" -i c:\script.sql