我们是否应该删除 SAAS 应用程序中已删除客户端的物理数据库

Should we delete physical database for the deleted clients in SAAS application

我正在开发一个项目,该项目位于 .net 核心中并托管在 azure 上,并被世界各地拥有独立数据库的不同客户用作 SAAS 应用程序。 现在我有一个要求说我们应该删除那些不再在主数据库中并被管理员删除的客户的数据库。

我怀疑我们真的应该删除将被删除的客户端的数据库吗?

此外,如果是,是否可以通过应用程序删除数据库,或者我们应该使用一些实用程序来做到这一点?

另外我担心服务器是否允许应用程序删除数据库?

任何人都可以对此提出建议吗?

我正在使用以下技术堆栈: .net 核心(后端)与 EF 核心 MSSQL(数据库)

有几种不同的方法..本质上它与任何其他数据库的工作方式相同,因此您可以执行 T-SQL 来完成..或使用 Azure SDK..这里是一些不同方法的示例: https://docs.microsoft.com/en-us/sql/t-sql/statements/drop-database-transact-sql?view=sql-server-2017

您可以像这样在 EF 中执行原始 SQL 语句:

using(var context = new SampleContext()) 
{ 
    var commandText = "INSERT Categories (CategoryName) VALUES (@CategoryName)"; 
    var name = new SqlParameter("@CategoryName", "Test"); 
    context.Database.ExecuteSqlCommand(commandText, name); 
} 

那么,使用那种格式,您可以添加您的 DROP 数据库命令吗?摘自:https://www.learnentityframeworkcore.com/raw-sql - 在 Database.ExecuteCommand 部分下