【问题标题】:What does "number of databases" in Azure imply?Azure 中的“数据库数量”是什么意思?
【发布时间】:2013-01-31 07:36:34
【问题描述】:

在 Azure 定价计算器中,您可以配置数据库的数量。 Azure SQL 存储的成本与数据库的数量呈线性关系。

我不清楚的是,当他们提到数据库的数量时,计算的是什么?

  • 我在解决方案中定义的connection strings 的数量?
  • 我在数据库中创建的实际数据库数对应一个connection string

举个例子:我有一个多租户 Web 应用程序。我为每个租户创建一个新数据库,但将数据库存储在我通过 1 个连接字符串引用的数据库中。

public class ApplicationContext : DbContext, IDbContext
{
    public DbSet<Tenant> Tenants { get; set; }
    public DbSet<User> Users { get; set; }

    public ApplicationContext(string tenantName) : base(tenantName)
    {
    }

    public new IDbSet<TEntity> Set<TEntity>() where TEntity : class
    {
        return base.Set<TEntity>();
    }
} 

我将具有以下配置的 webapp 发布到我的 Azure 数据库:

Server=tcp:gd5ydgrwa0.database.windows.net,1433;Database=xxx;User ID=xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;

我在他们的文档中找不到任何地方。非常感谢您的帮助。如果 Azure 按租户向我们收取数据库费用,我们需要重新考虑我们的数据库设计。

如果我有 10 个客户,我将有 10 个数据库。 Azure 会向我收取 10 个数据库的费用吗?还是只针对我配置的 1 个?

1 个数据库

10 个数据库

【问题讨论】:

    标签: c# azure azure-sql-database


    【解决方案1】:

    它参考数据库的数量,如您的连接字符串:Database=xxx。

    如果您租户的所有“数据库”都存储在 xxx 中,则您需要为 1 个数据库付费。但是,如果您更改连接字符串以便使用 xxx1, xxx2, ..., xxxN,您将需要为 N 个数据库付费。

    【讨论】:

      【解决方案2】:

      当您写“我在数据库中创建的与一个连接字符串对应的数据库的实际数量?”时,您似乎指的是单个数据库中单独/命名模式的数量。这是http://msdn.microsoft.com/en-us/library/aa479086.aspx 中讨论的“共享数据库,分离模式”模式。您只需为您使用的实际数据库数量付费,而不是数据库中单独模式的数量。当然,你可以在多台服务器上创建同名数据库,然后为每台服务器中的每个数据库付费。正如 randoms 所指出的,每个 Azure 数据库都有自己的连接字符串,指定它连接到的服务器和数据库,因此每个连接字符串对应一个单独收费的数据库。

      【讨论】:

        【解决方案3】:

        它与连接字符串的数量没有直接关系,因为您可以有许多连接字符串都指向同一个数据库和具有不同选项的服务器。

        所以一个 SQL Azure 数据库 e 如果您从所有连接字符串中提取服务器和数据库属性 您可以将它们视为服务器和数据库的不同数量。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2022-06-14
          • 2011-01-08
          • 2013-03-02
          • 1970-01-01
          • 2017-03-29
          • 2020-06-26
          • 1970-01-01
          • 2017-02-06
          相关资源
          最近更新 更多