如何将完整架构复制到新架构

问题描述 投票:0回答:1

我正在使用具有SQL Server数据库的saas应用程序。我在特定模式中拥有表,函数和存储过程(即customer1.table1,customer1.spGetCustomers等)。我想要一种将整个模式表,函数,存储过程,索引,键等复制到每个新客户的新空模式的方法。我希望有一种快速简便的方法来执行此操作,以便我可以为每个新客户添加新模式,并使所有内容完全分开。由于成本和额外的维护,我不想为每个客户提供一个新的数据库。

请帮助。

sql-server database-schema saas
1个回答
0
投票

在创建脚本中使用SQLCMD变量。您将编写独立于架构的创建对象脚本,例如:

CREATE TABLE [$(schema)].Table1 ...
CREATE PROCEDURE [$(schema)].Proc1...

然后您将其执行为:

sqlcmd -v schema ="Customer1" -i c:\script.sql
© www.soinside.com 2019 - 2024. All rights reserved.