如何以编程方式在弹性池中创建 Azure SQL 数据库?

ano*_*er1 4 c# azure-sql-database azure-elasticpool

我想用 C# 编写代码,以编程方式创建 Azure SQL 数据库并将其添加到现有的弹性池中。我查看了 Elastic Database Client Library,但它不处理数据库的创建,只将现有数据库注册为分片,我肯定会使用它。

是否可以使用像 SqlClient 这样简单的东西来创建数据库,或者这可以通过使用 Azure SQL 管理 SDK 或其他一些选项来完成?

Alb*_*llo 6

您可以使用 Transact SQL 创建数据库并将其添加到一个语句中的弹性池中。在此示例中,我们将在名为 S3M100 的池中创建一个新数据库:

CREATE DATABASE db1 ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = S3M100 ) ) 
Run Code Online (Sandbox Code Playgroud)

您还可以使用 Transact-SQL 首先创建数据库。

CREATE DATABASE YourNewDB ( EDITION = 'GeneralPurpose' );
Run Code Online (Sandbox Code Playgroud)

它可以是另一个数据库的副本。

CREATE DATABASE YourNewDB AS COPY OF OldDB;
Run Code Online (Sandbox Code Playgroud)

之后,您可以将其移动到任何弹性池。

ALTER DATABASE YourNewDB   
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;  
Run Code Online (Sandbox Code Playgroud)

  • 太棒了,您还可以在一条指令中将 AS COPY OF 与 SERVICE_OBJECTIVE 结合起来,如下所示: CREATE DATABASE NewDb AS COPY OF [TemplateDb] ( SERVICE_OBJECTIVE = ELASTIC_POOL (name = [poolName]) ) (2认同)