1. Packages
  2. Azure Native
  3. API Docs
  4. sql
  5. Database
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi

azure-native.sql.Database

Explore with Pulumi AI

azure-native logo
This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi

    A database resource.

    Uses Azure REST API version 2023-08-01. In version 2.x of the Azure Native provider, it used API version 2021-11-01.

    Other available API versions: 2014-04-01, 2017-03-01-preview, 2017-10-01-preview, 2019-06-01-preview, 2020-02-02-preview, 2020-08-01-preview, 2020-11-01-preview, 2021-02-01-preview, 2021-05-01-preview, 2021-08-01-preview, 2021-11-01, 2021-11-01-preview, 2022-02-01-preview, 2022-05-01-preview, 2022-08-01-preview, 2022-11-01-preview, 2023-02-01-preview, 2023-05-01-preview, 2023-08-01-preview, 2024-05-01-preview. These can be accessed by generating a local SDK package using the CLI command pulumi package add azure-native sql [ApiVersion]. See the version guide for details.

    Example Usage

    Creates a VCore database by specifying service objective name.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Capacity = 2,
                Family = "Gen4",
                Name = "BC",
            },
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Capacity: pulumi.Int(2),
    				Family:   pulumi.String("Gen4"),
    				Name:     pulumi.String("BC"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .capacity(2)
                    .family("Gen4")
                    .name("BC")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            capacity: 2,
            family: "Gen4",
            name: "BC",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "capacity": 2,
            "family": "Gen4",
            "name": "BC",
        })
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            capacity: 2
            family: Gen4
            name: BC
    

    Creates a VCore database by specifying sku name and capacity.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Capacity = 2,
                Name = "BC_Gen4",
            },
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Capacity: pulumi.Int(2),
    				Name:     pulumi.String("BC_Gen4"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .capacity(2)
                    .name("BC_Gen4")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            capacity: 2,
            name: "BC_Gen4",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "capacity": 2,
            "name": "BC_Gen4",
        })
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            capacity: 2
            name: BC_Gen4
    

    Creates a data warehouse database as a cross-subscription restore from a backup of a dropped database.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Restore,
            DatabaseName = "testdw",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            SourceResourceId = "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeRestore),
    			DatabaseName:      pulumi.String("testdw"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			SourceResourceId:  pulumi.String("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Restore")
                .databaseName("testdw")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sourceResourceId("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Restore,
        databaseName: "testdw",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sourceResourceId: "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.RESTORE,
        database_name="testdw",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        source_resource_id="/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Restore
          databaseName: testdw
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sourceResourceId: /subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/restorableDroppedDatabases/srcdw,131403269876900000
    

    Creates a data warehouse database as a cross-subscription restore from a geo-backup.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Recovery,
            DatabaseName = "testdw",
            Location = "westus",
            ResourceGroupName = "Default-SQL-WestUS",
            ServerName = "testsvr",
            SourceResourceId = "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeRecovery),
    			DatabaseName:      pulumi.String("testdw"),
    			Location:          pulumi.String("westus"),
    			ResourceGroupName: pulumi.String("Default-SQL-WestUS"),
    			ServerName:        pulumi.String("testsvr"),
    			SourceResourceId:  pulumi.String("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Recovery")
                .databaseName("testdw")
                .location("westus")
                .resourceGroupName("Default-SQL-WestUS")
                .serverName("testsvr")
                .sourceResourceId("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Recovery,
        databaseName: "testdw",
        location: "westus",
        resourceGroupName: "Default-SQL-WestUS",
        serverName: "testsvr",
        sourceResourceId: "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.RECOVERY,
        database_name="testdw",
        location="westus",
        resource_group_name="Default-SQL-WestUS",
        server_name="testsvr",
        source_resource_id="/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Recovery
          databaseName: testdw
          location: westus
          resourceGroupName: Default-SQL-WestUS
          serverName: testsvr
          sourceResourceId: /subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-EastUS/providers/Microsoft.Sql/servers/srcsvr/recoverabledatabases/srcdw
    

    Creates a data warehouse database as a cross-subscription restore from a restore point of an existing database.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.PointInTimeRestore,
            DatabaseName = "testdw",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            RestorePointInTime = "2022-01-22T05:35:31.503Z",
            ServerName = "testsvr",
            SourceResourceId = "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:         pulumi.String(sql.CreateModePointInTimeRestore),
    			DatabaseName:       pulumi.String("testdw"),
    			Location:           pulumi.String("southeastasia"),
    			ResourceGroupName:  pulumi.String("Default-SQL-SouthEastAsia"),
    			RestorePointInTime: pulumi.String("2022-01-22T05:35:31.503Z"),
    			ServerName:         pulumi.String("testsvr"),
    			SourceResourceId:   pulumi.String("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("PointInTimeRestore")
                .databaseName("testdw")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .restorePointInTime("2022-01-22T05:35:31.503Z")
                .serverName("testsvr")
                .sourceResourceId("/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.PointInTimeRestore,
        databaseName: "testdw",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        restorePointInTime: "2022-01-22T05:35:31.503Z",
        serverName: "testsvr",
        sourceResourceId: "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.POINT_IN_TIME_RESTORE,
        database_name="testdw",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        restore_point_in_time="2022-01-22T05:35:31.503Z",
        server_name="testsvr",
        source_resource_id="/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: PointInTimeRestore
          databaseName: testdw
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          restorePointInTime: 2022-01-22T05:35:31.503Z
          serverName: testsvr
          sourceResourceId: /subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/srcsvr/databases/srcdw
    

    Creates a database as a copy.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Copy,
            DatabaseName = "dbcopy",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S0",
                Tier = "Standard",
            },
            SourceDatabaseId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeCopy),
    			DatabaseName:      pulumi.String("dbcopy"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S0"),
    				Tier: pulumi.String("Standard"),
    			},
    			SourceDatabaseId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Copy")
                .databaseName("dbcopy")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S0")
                    .tier("Standard")
                    .build())
                .sourceDatabaseId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Copy,
        databaseName: "dbcopy",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            name: "S0",
            tier: "Standard",
        },
        sourceDatabaseId: "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.COPY,
        database_name="dbcopy",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "name": "S0",
            "tier": "Standard",
        },
        source_database_id="/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Copy
          databaseName: dbcopy
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            name: S0
            tier: Standard
          sourceDatabaseId: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SouthEastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb
    

    Creates a database as a standby secondary.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Secondary,
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            SecondaryType = AzureNative.Sql.SecondaryType.Standby,
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S0",
                Tier = "Standard",
            },
            SourceDatabaseId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeSecondary),
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			SecondaryType:     pulumi.String(sql.SecondaryTypeStandby),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S0"),
    				Tier: pulumi.String("Standard"),
    			},
    			SourceDatabaseId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Secondary")
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .secondaryType("Standby")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S0")
                    .tier("Standard")
                    .build())
                .sourceDatabaseId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Secondary,
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        secondaryType: azure_native.sql.SecondaryType.Standby,
        serverName: "testsvr",
        sku: {
            name: "S0",
            tier: "Standard",
        },
        sourceDatabaseId: "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.SECONDARY,
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        secondary_type=azure_native.sql.SecondaryType.STANDBY,
        server_name="testsvr",
        sku={
            "name": "S0",
            "tier": "Standard",
        },
        source_database_id="/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Secondary
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          secondaryType: Standby
          serverName: testsvr
          sku:
            name: S0
            tier: Standard
          sourceDatabaseId: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb
    

    Creates a database as an on-line secondary.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Secondary,
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            SecondaryType = AzureNative.Sql.SecondaryType.Geo,
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S0",
                Tier = "Standard",
            },
            SourceDatabaseId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeSecondary),
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			SecondaryType:     pulumi.String(sql.SecondaryTypeGeo),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S0"),
    				Tier: pulumi.String("Standard"),
    			},
    			SourceDatabaseId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Secondary")
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .secondaryType("Geo")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S0")
                    .tier("Standard")
                    .build())
                .sourceDatabaseId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Secondary,
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        secondaryType: azure_native.sql.SecondaryType.Geo,
        serverName: "testsvr",
        sku: {
            name: "S0",
            tier: "Standard",
        },
        sourceDatabaseId: "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.SECONDARY,
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        secondary_type=azure_native.sql.SecondaryType.GEO,
        server_name="testsvr",
        sku={
            "name": "S0",
            "tier": "Standard",
        },
        source_database_id="/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Secondary
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          secondaryType: Geo
          serverName: testsvr
          sku:
            name: S0
            tier: Standard
          sourceDatabaseId: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/testdb
    

    Creates a database as named replica secondary.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.Secondary,
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            SecondaryType = AzureNative.Sql.SecondaryType.Named,
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Capacity = 2,
                Name = "HS_Gen4",
                Tier = "Hyperscale",
            },
            SourceDatabaseId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:        pulumi.String(sql.CreateModeSecondary),
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			SecondaryType:     pulumi.String(sql.SecondaryTypeNamed),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Capacity: pulumi.Int(2),
    				Name:     pulumi.String("HS_Gen4"),
    				Tier:     pulumi.String("Hyperscale"),
    			},
    			SourceDatabaseId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("Secondary")
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .secondaryType("Named")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .capacity(2)
                    .name("HS_Gen4")
                    .tier("Hyperscale")
                    .build())
                .sourceDatabaseId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.Secondary,
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        secondaryType: azure_native.sql.SecondaryType.Named,
        serverName: "testsvr",
        sku: {
            capacity: 2,
            name: "HS_Gen4",
            tier: "Hyperscale",
        },
        sourceDatabaseId: "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.SECONDARY,
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        secondary_type=azure_native.sql.SecondaryType.NAMED,
        server_name="testsvr",
        sku={
            "capacity": 2,
            "name": "HS_Gen4",
            "tier": "Hyperscale",
        },
        source_database_id="/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: Secondary
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          secondaryType: Named
          serverName: testsvr
          sku:
            capacity: 2
            name: HS_Gen4
            tier: Hyperscale
          sourceDatabaseId: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-NorthEurope/providers/Microsoft.Sql/servers/testsvr1/databases/primarydb
    

    Creates a database from PointInTimeRestore.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            CreateMode = AzureNative.Sql.CreateMode.PointInTimeRestore,
            DatabaseName = "dbpitr",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            RestorePointInTime = "2020-10-22T05:35:31.503Z",
            ServerName = "testsvr",
            SourceDatabaseId = "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			CreateMode:         pulumi.String(sql.CreateModePointInTimeRestore),
    			DatabaseName:       pulumi.String("dbpitr"),
    			Location:           pulumi.String("southeastasia"),
    			ResourceGroupName:  pulumi.String("Default-SQL-SouthEastAsia"),
    			RestorePointInTime: pulumi.String("2020-10-22T05:35:31.503Z"),
    			ServerName:         pulumi.String("testsvr"),
    			SourceDatabaseId:   pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .createMode("PointInTimeRestore")
                .databaseName("dbpitr")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .restorePointInTime("2020-10-22T05:35:31.503Z")
                .serverName("testsvr")
                .sourceDatabaseId("/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        createMode: azure_native.sql.CreateMode.PointInTimeRestore,
        databaseName: "dbpitr",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        restorePointInTime: "2020-10-22T05:35:31.503Z",
        serverName: "testsvr",
        sourceDatabaseId: "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        create_mode=azure_native.sql.CreateMode.POINT_IN_TIME_RESTORE,
        database_name="dbpitr",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        restore_point_in_time="2020-10-22T05:35:31.503Z",
        server_name="testsvr",
        source_database_id="/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          createMode: PointInTimeRestore
          databaseName: dbpitr
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          restorePointInTime: 2020-10-22T05:35:31.503Z
          serverName: testsvr
          sourceDatabaseId: /subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default-SQL-SoutheastAsia/providers/Microsoft.Sql/servers/testsvr/databases/testdb
    

    Creates a database with Default enclave type.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            PreferredEnclaveType = AzureNative.Sql.AlwaysEncryptedEnclaveType.Default,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:         pulumi.String("testdb"),
    			Location:             pulumi.String("southeastasia"),
    			PreferredEnclaveType: pulumi.String(sql.AlwaysEncryptedEnclaveTypeDefault),
    			ResourceGroupName:    pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:           pulumi.String("testsvr"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .preferredEnclaveType("Default")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        preferredEnclaveType: azure_native.sql.AlwaysEncryptedEnclaveType.Default,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        preferred_enclave_type=azure_native.sql.AlwaysEncryptedEnclaveType.DEFAULT,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          preferredEnclaveType: Default
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
    

    Creates a database with VBS enclave type.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            PreferredEnclaveType = AzureNative.Sql.AlwaysEncryptedEnclaveType.VBS,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:         pulumi.String("testdb"),
    			Location:             pulumi.String("southeastasia"),
    			PreferredEnclaveType: pulumi.String(sql.AlwaysEncryptedEnclaveTypeVBS),
    			ResourceGroupName:    pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:           pulumi.String("testsvr"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .preferredEnclaveType("VBS")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        preferredEnclaveType: azure_native.sql.AlwaysEncryptedEnclaveType.VBS,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        preferred_enclave_type=azure_native.sql.AlwaysEncryptedEnclaveType.VBS,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          preferredEnclaveType: VBS
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
    

    Creates a database with availability zone specified.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            AvailabilityZone = AzureNative.Sql.AvailabilityZoneType.One,
            Collation = "SQL_Latin1_General_CP1_CI_AS",
            CreateMode = AzureNative.Sql.CreateMode.Default,
            DatabaseName = "testdb",
            Location = "southeastasia",
            MaxSizeBytes = 1073741824,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S0",
                Tier = "Standard",
            },
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			AvailabilityZone:  pulumi.String(sql.AvailabilityZoneTypeOne),
    			Collation:         pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
    			CreateMode:        pulumi.String(sql.CreateModeDefault),
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			MaxSizeBytes:      pulumi.Float64(1073741824),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S0"),
    				Tier: pulumi.String("Standard"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .availabilityZone("1")
                .collation("SQL_Latin1_General_CP1_CI_AS")
                .createMode("Default")
                .databaseName("testdb")
                .location("southeastasia")
                .maxSizeBytes(1073741824.0)
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S0")
                    .tier("Standard")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        availabilityZone: azure_native.sql.AvailabilityZoneType.One,
        collation: "SQL_Latin1_General_CP1_CI_AS",
        createMode: azure_native.sql.CreateMode.Default,
        databaseName: "testdb",
        location: "southeastasia",
        maxSizeBytes: 1073741824,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            name: "S0",
            tier: "Standard",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        availability_zone=azure_native.sql.AvailabilityZoneType.ONE,
        collation="SQL_Latin1_General_CP1_CI_AS",
        create_mode=azure_native.sql.CreateMode.DEFAULT,
        database_name="testdb",
        location="southeastasia",
        max_size_bytes=1073741824,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "name": "S0",
            "tier": "Standard",
        })
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          availabilityZone: '1'
          collation: SQL_Latin1_General_CP1_CI_AS
          createMode: Default
          databaseName: testdb
          location: southeastasia
          maxSizeBytes: 1.073741824e+09
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            name: S0
            tier: Standard
    

    Creates a database with default mode.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            Collation = "SQL_Latin1_General_CP1_CI_AS",
            CreateMode = AzureNative.Sql.CreateMode.Default,
            DatabaseName = "testdb",
            Location = "southeastasia",
            MaxSizeBytes = 1073741824,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S0",
                Tier = "Standard",
            },
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			Collation:         pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
    			CreateMode:        pulumi.String(sql.CreateModeDefault),
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			MaxSizeBytes:      pulumi.Float64(1073741824),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S0"),
    				Tier: pulumi.String("Standard"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .collation("SQL_Latin1_General_CP1_CI_AS")
                .createMode("Default")
                .databaseName("testdb")
                .location("southeastasia")
                .maxSizeBytes(1073741824.0)
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S0")
                    .tier("Standard")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        collation: "SQL_Latin1_General_CP1_CI_AS",
        createMode: azure_native.sql.CreateMode.Default,
        databaseName: "testdb",
        location: "southeastasia",
        maxSizeBytes: 1073741824,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            name: "S0",
            tier: "Standard",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        collation="SQL_Latin1_General_CP1_CI_AS",
        create_mode=azure_native.sql.CreateMode.DEFAULT,
        database_name="testdb",
        location="southeastasia",
        max_size_bytes=1073741824,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "name": "S0",
            "tier": "Standard",
        })
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          collation: SQL_Latin1_General_CP1_CI_AS
          createMode: Default
          databaseName: testdb
          location: southeastasia
          maxSizeBytes: 1.073741824e+09
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            name: S0
            tier: Standard
    

    Creates a database with ledger on.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            IsLedgerOn = true,
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:      pulumi.String("testdb"),
    			IsLedgerOn:        pulumi.Bool(true),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .isLedgerOn(true)
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        isLedgerOn: true,
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        is_ledger_on=True,
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          isLedgerOn: true
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
    

    Creates a database with minimum number of parameters.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:      pulumi.String("testdb"),
    			Location:          pulumi.String("southeastasia"),
    			ResourceGroupName: pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:        pulumi.String("testsvr"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
    

    Creates a database with preferred maintenance window.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            Collation = "SQL_Latin1_General_CP1_CI_AS",
            CreateMode = AzureNative.Sql.CreateMode.Default,
            DatabaseName = "testdb",
            Location = "southeastasia",
            MaintenanceConfigurationId = "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1",
            MaxSizeBytes = 1073741824,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
            Sku = new AzureNative.Sql.Inputs.SkuArgs
            {
                Name = "S2",
                Tier = "Standard",
            },
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			Collation:                  pulumi.String("SQL_Latin1_General_CP1_CI_AS"),
    			CreateMode:                 pulumi.String(sql.CreateModeDefault),
    			DatabaseName:               pulumi.String("testdb"),
    			Location:                   pulumi.String("southeastasia"),
    			MaintenanceConfigurationId: pulumi.String("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1"),
    			MaxSizeBytes:               pulumi.Float64(1073741824),
    			ResourceGroupName:          pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:                 pulumi.String("testsvr"),
    			Sku: &sql.SkuArgs{
    				Name: pulumi.String("S2"),
    				Tier: pulumi.String("Standard"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import com.pulumi.azurenative.sql.inputs.SkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .collation("SQL_Latin1_General_CP1_CI_AS")
                .createMode("Default")
                .databaseName("testdb")
                .location("southeastasia")
                .maintenanceConfigurationId("/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1")
                .maxSizeBytes(1073741824.0)
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .sku(SkuArgs.builder()
                    .name("S2")
                    .tier("Standard")
                    .build())
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        collation: "SQL_Latin1_General_CP1_CI_AS",
        createMode: azure_native.sql.CreateMode.Default,
        databaseName: "testdb",
        location: "southeastasia",
        maintenanceConfigurationId: "/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1",
        maxSizeBytes: 1073741824,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
        sku: {
            name: "S2",
            tier: "Standard",
        },
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        collation="SQL_Latin1_General_CP1_CI_AS",
        create_mode=azure_native.sql.CreateMode.DEFAULT,
        database_name="testdb",
        location="southeastasia",
        maintenance_configuration_id="/subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1",
        max_size_bytes=1073741824,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr",
        sku={
            "name": "S2",
            "tier": "Standard",
        })
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          collation: SQL_Latin1_General_CP1_CI_AS
          createMode: Default
          databaseName: testdb
          location: southeastasia
          maintenanceConfigurationId: /subscriptions/00000000-1111-2222-3333-444444444444/providers/Microsoft.Maintenance/publicMaintenanceConfigurations/SQL_SouthEastAsia_1
          maxSizeBytes: 1.073741824e+09
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
          sku:
            name: S2
            tier: Standard
    

    Creates a database with specified backup storage redundancy.

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using AzureNative = Pulumi.AzureNative;
    
    return await Deployment.RunAsync(() => 
    {
        var database = new AzureNative.Sql.Database("database", new()
        {
            DatabaseName = "testdb",
            Location = "southeastasia",
            RequestedBackupStorageRedundancy = AzureNative.Sql.BackupStorageRedundancy.Zone,
            ResourceGroupName = "Default-SQL-SouthEastAsia",
            ServerName = "testsvr",
        });
    
    });
    
    package main
    
    import (
    	sql "github.com/pulumi/pulumi-azure-native-sdk/sql/v3"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sql.NewDatabase(ctx, "database", &sql.DatabaseArgs{
    			DatabaseName:                     pulumi.String("testdb"),
    			Location:                         pulumi.String("southeastasia"),
    			RequestedBackupStorageRedundancy: pulumi.String(sql.BackupStorageRedundancyZone),
    			ResourceGroupName:                pulumi.String("Default-SQL-SouthEastAsia"),
    			ServerName:                       pulumi.String("testsvr"),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azurenative.sql.Database;
    import com.pulumi.azurenative.sql.DatabaseArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var database = new Database("database", DatabaseArgs.builder()
                .databaseName("testdb")
                .location("southeastasia")
                .requestedBackupStorageRedundancy("Zone")
                .resourceGroupName("Default-SQL-SouthEastAsia")
                .serverName("testsvr")
                .build());
    
        }
    }
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure_native from "@pulumi/azure-native";
    
    const database = new azure_native.sql.Database("database", {
        databaseName: "testdb",
        location: "southeastasia",
        requestedBackupStorageRedundancy: azure_native.sql.BackupStorageRedundancy.Zone,
        resourceGroupName: "Default-SQL-SouthEastAsia",
        serverName: "testsvr",
    });
    
    import pulumi
    import pulumi_azure_native as azure_native
    
    database = azure_native.sql.Database("database",
        database_name="testdb",
        location="southeastasia",
        requested_backup_storage_redundancy=azure_native.sql.BackupStorageRedundancy.ZONE,
        resource_group_name="Default-SQL-SouthEastAsia",
        server_name="testsvr")
    
    resources:
      database:
        type: azure-native:sql:Database
        properties:
          databaseName: testdb
          location: southeastasia
          requestedBackupStorageRedundancy: Zone
          resourceGroupName: Default-SQL-SouthEastAsia
          serverName: testsvr
    

    Create Database Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Database(name: string, args: DatabaseArgs, opts?: CustomResourceOptions);
    @overload
    def Database(resource_name: str,
                 args: DatabaseArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Database(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 resource_group_name: Optional[str] = None,
                 server_name: Optional[str] = None,
                 max_size_bytes: Optional[float] = None,
                 maintenance_configuration_id: Optional[str] = None,
                 create_mode: Optional[Union[str, CreateMode]] = None,
                 database_name: Optional[str] = None,
                 elastic_pool_id: Optional[str] = None,
                 encryption_protector: Optional[str] = None,
                 encryption_protector_auto_rotation: Optional[bool] = None,
                 federated_client_id: Optional[str] = None,
                 free_limit_exhaustion_behavior: Optional[Union[str, FreeLimitExhaustionBehavior]] = None,
                 high_availability_replica_count: Optional[int] = None,
                 identity: Optional[DatabaseIdentityArgs] = None,
                 is_ledger_on: Optional[bool] = None,
                 keys: Optional[Sequence[str]] = None,
                 license_type: Optional[Union[str, DatabaseLicenseType]] = None,
                 location: Optional[str] = None,
                 long_term_retention_backup_resource_id: Optional[str] = None,
                 min_capacity: Optional[float] = None,
                 manual_cutover: Optional[bool] = None,
                 collation: Optional[str] = None,
                 auto_pause_delay: Optional[int] = None,
                 recoverable_database_id: Optional[str] = None,
                 preferred_enclave_type: Optional[Union[str, AlwaysEncryptedEnclaveType]] = None,
                 read_scale: Optional[Union[str, DatabaseReadScale]] = None,
                 perform_cutover: Optional[bool] = None,
                 recovery_services_recovery_point_id: Optional[str] = None,
                 requested_backup_storage_redundancy: Optional[Union[str, BackupStorageRedundancy]] = None,
                 catalog_collation: Optional[Union[str, CatalogCollationType]] = None,
                 restorable_dropped_database_id: Optional[str] = None,
                 restore_point_in_time: Optional[str] = None,
                 sample_name: Optional[Union[str, SampleName]] = None,
                 secondary_type: Optional[Union[str, SecondaryType]] = None,
                 availability_zone: Optional[Union[str, AvailabilityZoneType]] = None,
                 sku: Optional[SkuArgs] = None,
                 source_database_deletion_date: Optional[str] = None,
                 source_database_id: Optional[str] = None,
                 source_resource_id: Optional[str] = None,
                 tags: Optional[Mapping[str, str]] = None,
                 use_free_limit: Optional[bool] = None,
                 zone_redundant: Optional[bool] = None)
    func NewDatabase(ctx *Context, name string, args DatabaseArgs, opts ...ResourceOption) (*Database, error)
    public Database(string name, DatabaseArgs args, CustomResourceOptions? opts = null)
    public Database(String name, DatabaseArgs args)
    public Database(String name, DatabaseArgs args, CustomResourceOptions options)
    
    type: azure-native:sql:Database
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args DatabaseArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args DatabaseArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args DatabaseArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args DatabaseArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args DatabaseArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var exampledatabaseResourceResourceFromSql = new AzureNative.Sql.Database("exampledatabaseResourceResourceFromSql", new()
    {
        ResourceGroupName = "string",
        ServerName = "string",
        MaxSizeBytes = 0,
        MaintenanceConfigurationId = "string",
        CreateMode = "string",
        DatabaseName = "string",
        ElasticPoolId = "string",
        EncryptionProtector = "string",
        EncryptionProtectorAutoRotation = false,
        FederatedClientId = "string",
        FreeLimitExhaustionBehavior = "string",
        HighAvailabilityReplicaCount = 0,
        Identity = new AzureNative.Sql.Inputs.DatabaseIdentityArgs
        {
            Type = "string",
            UserAssignedIdentities = new[]
            {
                "string",
            },
        },
        IsLedgerOn = false,
        Keys = new[]
        {
            "string",
        },
        LicenseType = "string",
        Location = "string",
        LongTermRetentionBackupResourceId = "string",
        MinCapacity = 0,
        ManualCutover = false,
        Collation = "string",
        AutoPauseDelay = 0,
        RecoverableDatabaseId = "string",
        PreferredEnclaveType = "string",
        ReadScale = "string",
        PerformCutover = false,
        RecoveryServicesRecoveryPointId = "string",
        RequestedBackupStorageRedundancy = "string",
        CatalogCollation = "string",
        RestorableDroppedDatabaseId = "string",
        RestorePointInTime = "string",
        SampleName = "string",
        SecondaryType = "string",
        AvailabilityZone = "string",
        Sku = new AzureNative.Sql.Inputs.SkuArgs
        {
            Name = "string",
            Capacity = 0,
            Family = "string",
            Size = "string",
            Tier = "string",
        },
        SourceDatabaseDeletionDate = "string",
        SourceDatabaseId = "string",
        SourceResourceId = "string",
        Tags = 
        {
            { "string", "string" },
        },
        UseFreeLimit = false,
        ZoneRedundant = false,
    });
    
    example, err := sql.NewDatabase(ctx, "exampledatabaseResourceResourceFromSql", &sql.DatabaseArgs{
    	ResourceGroupName:               pulumi.String("string"),
    	ServerName:                      pulumi.String("string"),
    	MaxSizeBytes:                    pulumi.Float64(0),
    	MaintenanceConfigurationId:      pulumi.String("string"),
    	CreateMode:                      pulumi.String("string"),
    	DatabaseName:                    pulumi.String("string"),
    	ElasticPoolId:                   pulumi.String("string"),
    	EncryptionProtector:             pulumi.String("string"),
    	EncryptionProtectorAutoRotation: pulumi.Bool(false),
    	FederatedClientId:               pulumi.String("string"),
    	FreeLimitExhaustionBehavior:     pulumi.String("string"),
    	HighAvailabilityReplicaCount:    pulumi.Int(0),
    	Identity: &sql.DatabaseIdentityArgs{
    		Type: pulumi.String("string"),
    		UserAssignedIdentities: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	IsLedgerOn: pulumi.Bool(false),
    	Keys: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	LicenseType:                       pulumi.String("string"),
    	Location:                          pulumi.String("string"),
    	LongTermRetentionBackupResourceId: pulumi.String("string"),
    	MinCapacity:                       pulumi.Float64(0),
    	ManualCutover:                     pulumi.Bool(false),
    	Collation:                         pulumi.String("string"),
    	AutoPauseDelay:                    pulumi.Int(0),
    	RecoverableDatabaseId:             pulumi.String("string"),
    	PreferredEnclaveType:              pulumi.String("string"),
    	ReadScale:                         pulumi.String("string"),
    	PerformCutover:                    pulumi.Bool(false),
    	RecoveryServicesRecoveryPointId:   pulumi.String("string"),
    	RequestedBackupStorageRedundancy:  pulumi.String("string"),
    	CatalogCollation:                  pulumi.String("string"),
    	RestorableDroppedDatabaseId:       pulumi.String("string"),
    	RestorePointInTime:                pulumi.String("string"),
    	SampleName:                        pulumi.String("string"),
    	SecondaryType:                     pulumi.String("string"),
    	AvailabilityZone:                  pulumi.String("string"),
    	Sku: &sql.SkuArgs{
    		Name:     pulumi.String("string"),
    		Capacity: pulumi.Int(0),
    		Family:   pulumi.String("string"),
    		Size:     pulumi.String("string"),
    		Tier:     pulumi.String("string"),
    	},
    	SourceDatabaseDeletionDate: pulumi.String("string"),
    	SourceDatabaseId:           pulumi.String("string"),
    	SourceResourceId:           pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	UseFreeLimit:  pulumi.Bool(false),
    	ZoneRedundant: pulumi.Bool(false),
    })
    
    var exampledatabaseResourceResourceFromSql = new com.pulumi.azurenative.sql.Database("exampledatabaseResourceResourceFromSql", com.pulumi.azurenative.sql.DatabaseArgs.builder()
        .resourceGroupName("string")
        .serverName("string")
        .maxSizeBytes(0)
        .maintenanceConfigurationId("string")
        .createMode("string")
        .databaseName("string")
        .elasticPoolId("string")
        .encryptionProtector("string")
        .encryptionProtectorAutoRotation(false)
        .federatedClientId("string")
        .freeLimitExhaustionBehavior("string")
        .highAvailabilityReplicaCount(0)
        .identity(DatabaseIdentityArgs.builder()
            .type("string")
            .userAssignedIdentities("string")
            .build())
        .isLedgerOn(false)
        .keys("string")
        .licenseType("string")
        .location("string")
        .longTermRetentionBackupResourceId("string")
        .minCapacity(0)
        .manualCutover(false)
        .collation("string")
        .autoPauseDelay(0)
        .recoverableDatabaseId("string")
        .preferredEnclaveType("string")
        .readScale("string")
        .performCutover(false)
        .recoveryServicesRecoveryPointId("string")
        .requestedBackupStorageRedundancy("string")
        .catalogCollation("string")
        .restorableDroppedDatabaseId("string")
        .restorePointInTime("string")
        .sampleName("string")
        .secondaryType("string")
        .availabilityZone("string")
        .sku(SkuArgs.builder()
            .name("string")
            .capacity(0)
            .family("string")
            .size("string")
            .tier("string")
            .build())
        .sourceDatabaseDeletionDate("string")
        .sourceDatabaseId("string")
        .sourceResourceId("string")
        .tags(Map.of("string", "string"))
        .useFreeLimit(false)
        .zoneRedundant(false)
        .build());
    
    exampledatabase_resource_resource_from_sql = azure_native.sql.Database("exampledatabaseResourceResourceFromSql",
        resource_group_name="string",
        server_name="string",
        max_size_bytes=0,
        maintenance_configuration_id="string",
        create_mode="string",
        database_name="string",
        elastic_pool_id="string",
        encryption_protector="string",
        encryption_protector_auto_rotation=False,
        federated_client_id="string",
        free_limit_exhaustion_behavior="string",
        high_availability_replica_count=0,
        identity={
            "type": "string",
            "user_assigned_identities": ["string"],
        },
        is_ledger_on=False,
        keys=["string"],
        license_type="string",
        location="string",
        long_term_retention_backup_resource_id="string",
        min_capacity=0,
        manual_cutover=False,
        collation="string",
        auto_pause_delay=0,
        recoverable_database_id="string",
        preferred_enclave_type="string",
        read_scale="string",
        perform_cutover=False,
        recovery_services_recovery_point_id="string",
        requested_backup_storage_redundancy="string",
        catalog_collation="string",
        restorable_dropped_database_id="string",
        restore_point_in_time="string",
        sample_name="string",
        secondary_type="string",
        availability_zone="string",
        sku={
            "name": "string",
            "capacity": 0,
            "family": "string",
            "size": "string",
            "tier": "string",
        },
        source_database_deletion_date="string",
        source_database_id="string",
        source_resource_id="string",
        tags={
            "string": "string",
        },
        use_free_limit=False,
        zone_redundant=False)
    
    const exampledatabaseResourceResourceFromSql = new azure_native.sql.Database("exampledatabaseResourceResourceFromSql", {
        resourceGroupName: "string",
        serverName: "string",
        maxSizeBytes: 0,
        maintenanceConfigurationId: "string",
        createMode: "string",
        databaseName: "string",
        elasticPoolId: "string",
        encryptionProtector: "string",
        encryptionProtectorAutoRotation: false,
        federatedClientId: "string",
        freeLimitExhaustionBehavior: "string",
        highAvailabilityReplicaCount: 0,
        identity: {
            type: "string",
            userAssignedIdentities: ["string"],
        },
        isLedgerOn: false,
        keys: ["string"],
        licenseType: "string",
        location: "string",
        longTermRetentionBackupResourceId: "string",
        minCapacity: 0,
        manualCutover: false,
        collation: "string",
        autoPauseDelay: 0,
        recoverableDatabaseId: "string",
        preferredEnclaveType: "string",
        readScale: "string",
        performCutover: false,
        recoveryServicesRecoveryPointId: "string",
        requestedBackupStorageRedundancy: "string",
        catalogCollation: "string",
        restorableDroppedDatabaseId: "string",
        restorePointInTime: "string",
        sampleName: "string",
        secondaryType: "string",
        availabilityZone: "string",
        sku: {
            name: "string",
            capacity: 0,
            family: "string",
            size: "string",
            tier: "string",
        },
        sourceDatabaseDeletionDate: "string",
        sourceDatabaseId: "string",
        sourceResourceId: "string",
        tags: {
            string: "string",
        },
        useFreeLimit: false,
        zoneRedundant: false,
    });
    
    type: azure-native:sql:Database
    properties:
        autoPauseDelay: 0
        availabilityZone: string
        catalogCollation: string
        collation: string
        createMode: string
        databaseName: string
        elasticPoolId: string
        encryptionProtector: string
        encryptionProtectorAutoRotation: false
        federatedClientId: string
        freeLimitExhaustionBehavior: string
        highAvailabilityReplicaCount: 0
        identity:
            type: string
            userAssignedIdentities:
                - string
        isLedgerOn: false
        keys:
            - string
        licenseType: string
        location: string
        longTermRetentionBackupResourceId: string
        maintenanceConfigurationId: string
        manualCutover: false
        maxSizeBytes: 0
        minCapacity: 0
        performCutover: false
        preferredEnclaveType: string
        readScale: string
        recoverableDatabaseId: string
        recoveryServicesRecoveryPointId: string
        requestedBackupStorageRedundancy: string
        resourceGroupName: string
        restorableDroppedDatabaseId: string
        restorePointInTime: string
        sampleName: string
        secondaryType: string
        serverName: string
        sku:
            capacity: 0
            family: string
            name: string
            size: string
            tier: string
        sourceDatabaseDeletionDate: string
        sourceDatabaseId: string
        sourceResourceId: string
        tags:
            string: string
        useFreeLimit: false
        zoneRedundant: false
    

    Database Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Database resource accepts the following input properties:

    ResourceGroupName string
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    ServerName string
    The name of the server.
    AutoPauseDelay int
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    AvailabilityZone string | Pulumi.AzureNative.Sql.AvailabilityZoneType
    Specifies the availability zone the database is pinned to.
    CatalogCollation string | Pulumi.AzureNative.Sql.CatalogCollationType
    Collation of the metadata catalog.
    Collation string
    The collation of the database.
    CreateMode string | Pulumi.AzureNative.Sql.CreateMode

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    DatabaseName string
    The name of the database.
    ElasticPoolId string
    The resource identifier of the elastic pool containing this database.
    EncryptionProtector string
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    EncryptionProtectorAutoRotation bool
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    FederatedClientId string
    The Client id used for cross tenant per database CMK scenario
    FreeLimitExhaustionBehavior string | Pulumi.AzureNative.Sql.FreeLimitExhaustionBehavior

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    HighAvailabilityReplicaCount int
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    Identity Pulumi.AzureNative.Sql.Inputs.DatabaseIdentity
    The Azure Active Directory identity of the database.
    IsLedgerOn bool
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    Keys List<string>
    The resource ids of the user assigned identities to use
    LicenseType string | Pulumi.AzureNative.Sql.DatabaseLicenseType
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    Location string
    Resource location.
    LongTermRetentionBackupResourceId string
    The resource identifier of the long term retention backup associated with create operation of this database.
    MaintenanceConfigurationId string
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    ManualCutover bool

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    MaxSizeBytes double
    The max size of the database expressed in bytes.
    MinCapacity double
    Minimal capacity that database will always have allocated, if not paused
    PerformCutover bool

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    PreferredEnclaveType string | Pulumi.AzureNative.Sql.AlwaysEncryptedEnclaveType
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    ReadScale string | Pulumi.AzureNative.Sql.DatabaseReadScale
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    RecoverableDatabaseId string
    The resource identifier of the recoverable database associated with create operation of this database.
    RecoveryServicesRecoveryPointId string
    The resource identifier of the recovery point associated with create operation of this database.
    RequestedBackupStorageRedundancy string | Pulumi.AzureNative.Sql.BackupStorageRedundancy
    The storage account type to be used to store backups for this database.
    RestorableDroppedDatabaseId string
    The resource identifier of the restorable dropped database associated with create operation of this database.
    RestorePointInTime string
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    SampleName string | Pulumi.AzureNative.Sql.SampleName
    The name of the sample schema to apply when creating this database.
    SecondaryType string | Pulumi.AzureNative.Sql.SecondaryType
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    Sku Pulumi.AzureNative.Sql.Inputs.Sku

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    SourceDatabaseDeletionDate string
    Specifies the time that the database was deleted.
    SourceDatabaseId string
    The resource identifier of the source database associated with create operation of this database.
    SourceResourceId string

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    Tags Dictionary<string, string>
    Resource tags.
    UseFreeLimit bool
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    ZoneRedundant bool
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
    ResourceGroupName string
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    ServerName string
    The name of the server.
    AutoPauseDelay int
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    AvailabilityZone string | AvailabilityZoneType
    Specifies the availability zone the database is pinned to.
    CatalogCollation string | CatalogCollationType
    Collation of the metadata catalog.
    Collation string
    The collation of the database.
    CreateMode string | CreateMode

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    DatabaseName string
    The name of the database.
    ElasticPoolId string
    The resource identifier of the elastic pool containing this database.
    EncryptionProtector string
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    EncryptionProtectorAutoRotation bool
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    FederatedClientId string
    The Client id used for cross tenant per database CMK scenario
    FreeLimitExhaustionBehavior string | FreeLimitExhaustionBehavior

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    HighAvailabilityReplicaCount int
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    Identity DatabaseIdentityArgs
    The Azure Active Directory identity of the database.
    IsLedgerOn bool
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    Keys []string
    The resource ids of the user assigned identities to use
    LicenseType string | DatabaseLicenseType
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    Location string
    Resource location.
    LongTermRetentionBackupResourceId string
    The resource identifier of the long term retention backup associated with create operation of this database.
    MaintenanceConfigurationId string
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    ManualCutover bool

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    MaxSizeBytes float64
    The max size of the database expressed in bytes.
    MinCapacity float64
    Minimal capacity that database will always have allocated, if not paused
    PerformCutover bool

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    PreferredEnclaveType string | AlwaysEncryptedEnclaveType
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    ReadScale string | DatabaseReadScale
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    RecoverableDatabaseId string
    The resource identifier of the recoverable database associated with create operation of this database.
    RecoveryServicesRecoveryPointId string
    The resource identifier of the recovery point associated with create operation of this database.
    RequestedBackupStorageRedundancy string | BackupStorageRedundancy
    The storage account type to be used to store backups for this database.
    RestorableDroppedDatabaseId string
    The resource identifier of the restorable dropped database associated with create operation of this database.
    RestorePointInTime string
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    SampleName string | SampleName
    The name of the sample schema to apply when creating this database.
    SecondaryType string | SecondaryType
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    Sku SkuArgs

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    SourceDatabaseDeletionDate string
    Specifies the time that the database was deleted.
    SourceDatabaseId string
    The resource identifier of the source database associated with create operation of this database.
    SourceResourceId string

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    Tags map[string]string
    Resource tags.
    UseFreeLimit bool
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    ZoneRedundant bool
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
    resourceGroupName String
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    serverName String
    The name of the server.
    autoPauseDelay Integer
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    availabilityZone String | AvailabilityZoneType
    Specifies the availability zone the database is pinned to.
    catalogCollation String | CatalogCollationType
    Collation of the metadata catalog.
    collation String
    The collation of the database.
    createMode String | CreateMode

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    databaseName String
    The name of the database.
    elasticPoolId String
    The resource identifier of the elastic pool containing this database.
    encryptionProtector String
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    encryptionProtectorAutoRotation Boolean
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    federatedClientId String
    The Client id used for cross tenant per database CMK scenario
    freeLimitExhaustionBehavior String | FreeLimitExhaustionBehavior

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    highAvailabilityReplicaCount Integer
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    identity DatabaseIdentity
    The Azure Active Directory identity of the database.
    isLedgerOn Boolean
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    keys List<String>
    The resource ids of the user assigned identities to use
    licenseType String | DatabaseLicenseType
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    location String
    Resource location.
    longTermRetentionBackupResourceId String
    The resource identifier of the long term retention backup associated with create operation of this database.
    maintenanceConfigurationId String
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    manualCutover Boolean

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    maxSizeBytes Double
    The max size of the database expressed in bytes.
    minCapacity Double
    Minimal capacity that database will always have allocated, if not paused
    performCutover Boolean

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    preferredEnclaveType String | AlwaysEncryptedEnclaveType
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    readScale String | DatabaseReadScale
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    recoverableDatabaseId String
    The resource identifier of the recoverable database associated with create operation of this database.
    recoveryServicesRecoveryPointId String
    The resource identifier of the recovery point associated with create operation of this database.
    requestedBackupStorageRedundancy String | BackupStorageRedundancy
    The storage account type to be used to store backups for this database.
    restorableDroppedDatabaseId String
    The resource identifier of the restorable dropped database associated with create operation of this database.
    restorePointInTime String
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    sampleName String | SampleName
    The name of the sample schema to apply when creating this database.
    secondaryType String | SecondaryType
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    sku Sku

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    sourceDatabaseDeletionDate String
    Specifies the time that the database was deleted.
    sourceDatabaseId String
    The resource identifier of the source database associated with create operation of this database.
    sourceResourceId String

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    tags Map<String,String>
    Resource tags.
    useFreeLimit Boolean
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    zoneRedundant Boolean
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
    resourceGroupName string
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    serverName string
    The name of the server.
    autoPauseDelay number
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    availabilityZone string | AvailabilityZoneType
    Specifies the availability zone the database is pinned to.
    catalogCollation string | CatalogCollationType
    Collation of the metadata catalog.
    collation string
    The collation of the database.
    createMode string | CreateMode

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    databaseName string
    The name of the database.
    elasticPoolId string
    The resource identifier of the elastic pool containing this database.
    encryptionProtector string
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    encryptionProtectorAutoRotation boolean
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    federatedClientId string
    The Client id used for cross tenant per database CMK scenario
    freeLimitExhaustionBehavior string | FreeLimitExhaustionBehavior

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    highAvailabilityReplicaCount number
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    identity DatabaseIdentity
    The Azure Active Directory identity of the database.
    isLedgerOn boolean
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    keys string[]
    The resource ids of the user assigned identities to use
    licenseType string | DatabaseLicenseType
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    location string
    Resource location.
    longTermRetentionBackupResourceId string
    The resource identifier of the long term retention backup associated with create operation of this database.
    maintenanceConfigurationId string
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    manualCutover boolean

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    maxSizeBytes number
    The max size of the database expressed in bytes.
    minCapacity number
    Minimal capacity that database will always have allocated, if not paused
    performCutover boolean

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    preferredEnclaveType string | AlwaysEncryptedEnclaveType
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    readScale string | DatabaseReadScale
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    recoverableDatabaseId string
    The resource identifier of the recoverable database associated with create operation of this database.
    recoveryServicesRecoveryPointId string
    The resource identifier of the recovery point associated with create operation of this database.
    requestedBackupStorageRedundancy string | BackupStorageRedundancy
    The storage account type to be used to store backups for this database.
    restorableDroppedDatabaseId string
    The resource identifier of the restorable dropped database associated with create operation of this database.
    restorePointInTime string
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    sampleName string | SampleName
    The name of the sample schema to apply when creating this database.
    secondaryType string | SecondaryType
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    sku Sku

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    sourceDatabaseDeletionDate string
    Specifies the time that the database was deleted.
    sourceDatabaseId string
    The resource identifier of the source database associated with create operation of this database.
    sourceResourceId string

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    tags {[key: string]: string}
    Resource tags.
    useFreeLimit boolean
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    zoneRedundant boolean
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
    resource_group_name str
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    server_name str
    The name of the server.
    auto_pause_delay int
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    availability_zone str | AvailabilityZoneType
    Specifies the availability zone the database is pinned to.
    catalog_collation str | CatalogCollationType
    Collation of the metadata catalog.
    collation str
    The collation of the database.
    create_mode str | CreateMode

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    database_name str
    The name of the database.
    elastic_pool_id str
    The resource identifier of the elastic pool containing this database.
    encryption_protector str
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    encryption_protector_auto_rotation bool
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    federated_client_id str
    The Client id used for cross tenant per database CMK scenario
    free_limit_exhaustion_behavior str | FreeLimitExhaustionBehavior

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    high_availability_replica_count int
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    identity DatabaseIdentityArgs
    The Azure Active Directory identity of the database.
    is_ledger_on bool
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    keys Sequence[str]
    The resource ids of the user assigned identities to use
    license_type str | DatabaseLicenseType
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    location str
    Resource location.
    long_term_retention_backup_resource_id str
    The resource identifier of the long term retention backup associated with create operation of this database.
    maintenance_configuration_id str
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    manual_cutover bool

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    max_size_bytes float
    The max size of the database expressed in bytes.
    min_capacity float
    Minimal capacity that database will always have allocated, if not paused
    perform_cutover bool

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    preferred_enclave_type str | AlwaysEncryptedEnclaveType
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    read_scale str | DatabaseReadScale
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    recoverable_database_id str
    The resource identifier of the recoverable database associated with create operation of this database.
    recovery_services_recovery_point_id str
    The resource identifier of the recovery point associated with create operation of this database.
    requested_backup_storage_redundancy str | BackupStorageRedundancy
    The storage account type to be used to store backups for this database.
    restorable_dropped_database_id str
    The resource identifier of the restorable dropped database associated with create operation of this database.
    restore_point_in_time str
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    sample_name str | SampleName
    The name of the sample schema to apply when creating this database.
    secondary_type str | SecondaryType
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    sku SkuArgs

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    source_database_deletion_date str
    Specifies the time that the database was deleted.
    source_database_id str
    The resource identifier of the source database associated with create operation of this database.
    source_resource_id str

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    tags Mapping[str, str]
    Resource tags.
    use_free_limit bool
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    zone_redundant bool
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.
    resourceGroupName String
    The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
    serverName String
    The name of the server.
    autoPauseDelay Number
    Time in minutes after which database is automatically paused. A value of -1 means that automatic pause is disabled
    availabilityZone String | "NoPreference" | "1" | "2" | "3"
    Specifies the availability zone the database is pinned to.
    catalogCollation String | "DATABASE_DEFAULT" | "SQL_Latin1_General_CP1_CI_AS"
    Collation of the metadata catalog.
    collation String
    The collation of the database.
    createMode String | "Default" | "Copy" | "Secondary" | "PointInTimeRestore" | "Restore" | "Recovery" | "RestoreExternalBackup" | "RestoreExternalBackupSecondary" | "RestoreLongTermRetentionBackup" | "OnlineSecondary"

    Specifies the mode of database creation.

    Default: regular database creation.

    Copy: creates a database as a copy of an existing database. sourceDatabaseId must be specified as the resource ID of the source database.

    Secondary: creates a database as a secondary replica of an existing database. sourceDatabaseId must be specified as the resource ID of the existing primary database.

    PointInTimeRestore: Creates a database by restoring a point in time backup of an existing database. sourceDatabaseId must be specified as the resource ID of the existing database, and restorePointInTime must be specified.

    Recovery: Creates a database by restoring a geo-replicated backup. sourceDatabaseId must be specified as the recoverable database resource ID to restore.

    Restore: Creates a database by restoring a backup of a deleted database. sourceDatabaseId must be specified. If sourceDatabaseId is the database's original resource ID, then sourceDatabaseDeletionDate must be specified. Otherwise sourceDatabaseId must be the restorable dropped database resource ID and sourceDatabaseDeletionDate is ignored. restorePointInTime may also be specified to restore from an earlier point in time.

    RestoreLongTermRetentionBackup: Creates a database by restoring from a long term retention vault. recoveryServicesRecoveryPointResourceId must be specified as the recovery point resource ID.

    Copy, Secondary, and RestoreLongTermRetentionBackup are not supported for DataWarehouse edition.

    databaseName String
    The name of the database.
    elasticPoolId String
    The resource identifier of the elastic pool containing this database.
    encryptionProtector String
    The azure key vault URI of the database if it's configured with per Database Customer Managed Keys.
    encryptionProtectorAutoRotation Boolean
    The flag to enable or disable auto rotation of database encryption protector AKV key.
    federatedClientId String
    The Client id used for cross tenant per database CMK scenario
    freeLimitExhaustionBehavior String | "AutoPause" | "BillOverUsage"

    Specifies the behavior when monthly free limits are exhausted for the free database.

    AutoPause: The database will be auto paused upon exhaustion of free limits for remainder of the month.

    BillForUsage: The database will continue to be online upon exhaustion of free limits and any overage will be billed.

    highAvailabilityReplicaCount Number
    The number of secondary replicas associated with the Business Critical, Premium, or Hyperscale edition database that are used to provide high availability. Not applicable to a Hyperscale database within an elastic pool.
    identity Property Map
    The Azure Active Directory identity of the database.
    isLedgerOn Boolean
    Whether or not this database is a ledger database, which means all tables in the database are ledger tables. Note: the value of this property cannot be changed after the database has been created.
    keys List<String>
    The resource ids of the user assigned identities to use
    licenseType String | "LicenseIncluded" | "BasePrice"
    The license type to apply for this database. LicenseIncluded if you need a license, or BasePrice if you have a license and are eligible for the Azure Hybrid Benefit.
    location String
    Resource location.
    longTermRetentionBackupResourceId String
    The resource identifier of the long term retention backup associated with create operation of this database.
    maintenanceConfigurationId String
    Maintenance configuration id assigned to the database. This configuration defines the period when the maintenance updates will occur.
    manualCutover Boolean

    Whether or not customer controlled manual cutover needs to be done during Update Database operation to Hyperscale tier.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier.

    When manualCutover is specified, the scaling operation will wait for user input to trigger cutover to Hyperscale database.

    To trigger cutover, please provide 'performCutover' parameter when the Scaling operation is in Waiting state.

    maxSizeBytes Number
    The max size of the database expressed in bytes.
    minCapacity Number
    Minimal capacity that database will always have allocated, if not paused
    performCutover Boolean

    To trigger customer controlled manual cutover during the wait state while Scaling operation is in progress.

    This property parameter is only applicable for scaling operations that are initiated along with 'manualCutover' parameter.

    This property is only applicable when scaling database from Business Critical/General Purpose/Premium/Standard tier to Hyperscale tier is already in progress.

    When performCutover is specified, the scaling operation will trigger cutover and perform role-change to Hyperscale database.

    preferredEnclaveType String | "Default" | "VBS"
    Type of enclave requested on the database i.e. Default or VBS enclaves.
    readScale String | "Enabled" | "Disabled"
    The state of read-only routing. If enabled, connections that have application intent set to readonly in their connection string may be routed to a readonly secondary replica in the same region. Not applicable to a Hyperscale database within an elastic pool.
    recoverableDatabaseId String
    The resource identifier of the recoverable database associated with create operation of this database.
    recoveryServicesRecoveryPointId String
    The resource identifier of the recovery point associated with create operation of this database.
    requestedBackupStorageRedundancy String | "Geo" | "Local" | "Zone" | "GeoZone"
    The storage account type to be used to store backups for this database.
    restorableDroppedDatabaseId String
    The resource identifier of the restorable dropped database associated with create operation of this database.
    restorePointInTime String
    Specifies the point in time (ISO8601 format) of the source database that will be restored to create the new database.
    sampleName String | "AdventureWorksLT" | "WideWorldImportersStd" | "WideWorldImportersFull"
    The name of the sample schema to apply when creating this database.
    secondaryType String | "Geo" | "Named" | "Standby"
    The secondary type of the database if it is a secondary. Valid values are Geo, Named and Standby.
    sku Property Map

    The database SKU.

    The list of SKUs may vary by region and support offer. To determine the SKUs (including the SKU name, tier/edition, family, and capacity) that are available to your subscription in an Azure region, use the Capabilities_ListByLocation REST API or one of the following commands:

    az sql db list-editions -l <location> -o table
    
    Get-AzSqlServerServiceObjective -Location <location>
    
    sourceDatabaseDeletionDate String
    Specifies the time that the database was deleted.
    sourceDatabaseId String
    The resource identifier of the source database associated with create operation of this database.
    sourceResourceId String

    The resource identifier of the source associated with the create operation of this database.

    This property is only supported for DataWarehouse edition and allows to restore across subscriptions.

    When sourceResourceId is specified, sourceDatabaseId, recoverableDatabaseId, restorableDroppedDatabaseId and sourceDatabaseDeletionDate must not be specified and CreateMode must be PointInTimeRestore, Restore or Recover.

    When createMode is PointInTimeRestore, sourceResourceId must be the resource ID of the existing database or existing sql pool, and restorePointInTime must be specified.

    When createMode is Restore, sourceResourceId must be the resource ID of restorable dropped database or restorable dropped sql pool.

    When createMode is Recover, sourceResourceId must be the resource ID of recoverable database or recoverable sql pool.

    When source subscription belongs to a different tenant than target subscription, “x-ms-authorization-auxiliary” header must contain authentication token for the source tenant. For more details about “x-ms-authorization-auxiliary” header see https://docs.microsoft.com/en-us/azure/azure-resource-manager/management/authenticate-multi-tenant

    tags Map<String>
    Resource tags.
    useFreeLimit Boolean
    Whether or not the database uses free monthly limits. Allowed on one database in a subscription.
    zoneRedundant Boolean
    Whether or not this database is zone redundant, which means the replicas of this database will be spread across multiple availability zones.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Database resource produces the following output properties:

    AzureApiVersion string
    The Azure API version of the resource.
    CreationDate string
    The creation date of the database (ISO8601 format).
    CurrentBackupStorageRedundancy string
    The storage account type used to store backups for this database.
    CurrentServiceObjectiveName string
    The current service level objective name of the database.
    CurrentSku Pulumi.AzureNative.Sql.Outputs.SkuResponse
    The name and tier of the SKU.
    DatabaseId string
    The ID of the database.
    DefaultSecondaryLocation string
    The default secondary region for this database.
    EarliestRestoreDate string
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    FailoverGroupId string
    Failover Group resource identifier that this database belongs to.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsInfraEncryptionEnabled bool
    Infra encryption is enabled for this database.
    Kind string
    Kind of database. This is metadata used for the Azure portal experience.
    ManagedBy string
    Resource that manages the database.
    MaxLogSizeBytes double
    The max log size for this database.
    Name string
    Resource name.
    PausedDate string
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    RequestedServiceObjectiveName string
    The requested service level objective name of the database.
    ResumedDate string
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    Status string
    The status of the database.
    Type string
    Resource type.
    AzureApiVersion string
    The Azure API version of the resource.
    CreationDate string
    The creation date of the database (ISO8601 format).
    CurrentBackupStorageRedundancy string
    The storage account type used to store backups for this database.
    CurrentServiceObjectiveName string
    The current service level objective name of the database.
    CurrentSku SkuResponse
    The name and tier of the SKU.
    DatabaseId string
    The ID of the database.
    DefaultSecondaryLocation string
    The default secondary region for this database.
    EarliestRestoreDate string
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    FailoverGroupId string
    Failover Group resource identifier that this database belongs to.
    Id string
    The provider-assigned unique ID for this managed resource.
    IsInfraEncryptionEnabled bool
    Infra encryption is enabled for this database.
    Kind string
    Kind of database. This is metadata used for the Azure portal experience.
    ManagedBy string
    Resource that manages the database.
    MaxLogSizeBytes float64
    The max log size for this database.
    Name string
    Resource name.
    PausedDate string
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    RequestedServiceObjectiveName string
    The requested service level objective name of the database.
    ResumedDate string
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    Status string
    The status of the database.
    Type string
    Resource type.
    azureApiVersion String
    The Azure API version of the resource.
    creationDate String
    The creation date of the database (ISO8601 format).
    currentBackupStorageRedundancy String
    The storage account type used to store backups for this database.
    currentServiceObjectiveName String
    The current service level objective name of the database.
    currentSku SkuResponse
    The name and tier of the SKU.
    databaseId String
    The ID of the database.
    defaultSecondaryLocation String
    The default secondary region for this database.
    earliestRestoreDate String
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    failoverGroupId String
    Failover Group resource identifier that this database belongs to.
    id String
    The provider-assigned unique ID for this managed resource.
    isInfraEncryptionEnabled Boolean
    Infra encryption is enabled for this database.
    kind String
    Kind of database. This is metadata used for the Azure portal experience.
    managedBy String
    Resource that manages the database.
    maxLogSizeBytes Double
    The max log size for this database.
    name String
    Resource name.
    pausedDate String
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    requestedServiceObjectiveName String
    The requested service level objective name of the database.
    resumedDate String
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    status String
    The status of the database.
    type String
    Resource type.
    azureApiVersion string
    The Azure API version of the resource.
    creationDate string
    The creation date of the database (ISO8601 format).
    currentBackupStorageRedundancy string
    The storage account type used to store backups for this database.
    currentServiceObjectiveName string
    The current service level objective name of the database.
    currentSku SkuResponse
    The name and tier of the SKU.
    databaseId string
    The ID of the database.
    defaultSecondaryLocation string
    The default secondary region for this database.
    earliestRestoreDate string
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    failoverGroupId string
    Failover Group resource identifier that this database belongs to.
    id string
    The provider-assigned unique ID for this managed resource.
    isInfraEncryptionEnabled boolean
    Infra encryption is enabled for this database.
    kind string
    Kind of database. This is metadata used for the Azure portal experience.
    managedBy string
    Resource that manages the database.
    maxLogSizeBytes number
    The max log size for this database.
    name string
    Resource name.
    pausedDate string
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    requestedServiceObjectiveName string
    The requested service level objective name of the database.
    resumedDate string
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    status string
    The status of the database.
    type string
    Resource type.
    azure_api_version str
    The Azure API version of the resource.
    creation_date str
    The creation date of the database (ISO8601 format).
    current_backup_storage_redundancy str
    The storage account type used to store backups for this database.
    current_service_objective_name str
    The current service level objective name of the database.
    current_sku SkuResponse
    The name and tier of the SKU.
    database_id str
    The ID of the database.
    default_secondary_location str
    The default secondary region for this database.
    earliest_restore_date str
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    failover_group_id str
    Failover Group resource identifier that this database belongs to.
    id str
    The provider-assigned unique ID for this managed resource.
    is_infra_encryption_enabled bool
    Infra encryption is enabled for this database.
    kind str
    Kind of database. This is metadata used for the Azure portal experience.
    managed_by str
    Resource that manages the database.
    max_log_size_bytes float
    The max log size for this database.
    name str
    Resource name.
    paused_date str
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    requested_service_objective_name str
    The requested service level objective name of the database.
    resumed_date str
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    status str
    The status of the database.
    type str
    Resource type.
    azureApiVersion String
    The Azure API version of the resource.
    creationDate String
    The creation date of the database (ISO8601 format).
    currentBackupStorageRedundancy String
    The storage account type used to store backups for this database.
    currentServiceObjectiveName String
    The current service level objective name of the database.
    currentSku Property Map
    The name and tier of the SKU.
    databaseId String
    The ID of the database.
    defaultSecondaryLocation String
    The default secondary region for this database.
    earliestRestoreDate String
    This records the earliest start date and time that restore is available for this database (ISO8601 format).
    failoverGroupId String
    Failover Group resource identifier that this database belongs to.
    id String
    The provider-assigned unique ID for this managed resource.
    isInfraEncryptionEnabled Boolean
    Infra encryption is enabled for this database.
    kind String
    Kind of database. This is metadata used for the Azure portal experience.
    managedBy String
    Resource that manages the database.
    maxLogSizeBytes Number
    The max log size for this database.
    name String
    Resource name.
    pausedDate String
    The date when database was paused by user configuration or action(ISO8601 format). Null if the database is ready.
    requestedServiceObjectiveName String
    The requested service level objective name of the database.
    resumedDate String
    The date when database was resumed by user action or database login (ISO8601 format). Null if the database is paused.
    status String
    The status of the database.
    type String
    Resource type.

    Supporting Types

    AlwaysEncryptedEnclaveType, AlwaysEncryptedEnclaveTypeArgs

    Default
    Default
    VBS
    VBS
    AlwaysEncryptedEnclaveTypeDefault
    Default
    AlwaysEncryptedEnclaveTypeVBS
    VBS
    Default
    Default
    VBS
    VBS
    Default
    Default
    VBS
    VBS
    DEFAULT
    Default
    VBS
    VBS
    "Default"
    Default
    "VBS"
    VBS

    AvailabilityZoneType, AvailabilityZoneTypeArgs

    NoPreference
    NoPreference
    One
    1
    Two
    2
    Three
    3
    AvailabilityZoneTypeNoPreference
    NoPreference
    AvailabilityZoneTypeOne
    1
    AvailabilityZoneTypeTwo
    2
    AvailabilityZoneTypeThree
    3
    NoPreference
    NoPreference
    One
    1
    Two
    2
    Three
    3
    NoPreference
    NoPreference
    One
    1
    Two
    2
    Three
    3
    NO_PREFERENCE
    NoPreference
    ONE
    1
    TWO
    2
    THREE
    3
    "NoPreference"
    NoPreference
    "1"
    1
    "2"
    2
    "3"
    3

    BackupStorageRedundancy, BackupStorageRedundancyArgs

    Geo
    Geo
    Local
    Local
    Zone
    Zone
    GeoZone
    GeoZone
    BackupStorageRedundancyGeo
    Geo
    BackupStorageRedundancyLocal
    Local
    BackupStorageRedundancyZone
    Zone
    BackupStorageRedundancyGeoZone
    GeoZone
    Geo
    Geo
    Local
    Local
    Zone
    Zone
    GeoZone
    GeoZone
    Geo
    Geo
    Local
    Local
    Zone
    Zone
    GeoZone
    GeoZone
    GEO
    Geo
    LOCAL
    Local
    ZONE
    Zone
    GEO_ZONE
    GeoZone
    "Geo"
    Geo
    "Local"
    Local
    "Zone"
    Zone
    "GeoZone"
    GeoZone

    CatalogCollationType, CatalogCollationTypeArgs

    DATABASE_DEFAULT
    DATABASE_DEFAULT
    SQL_Latin1_General_CP1_CI_AS
    SQL_Latin1_General_CP1_CI_AS
    CatalogCollationType_DATABASE_DEFAULT
    DATABASE_DEFAULT
    CatalogCollationType_SQL_Latin1_General_CP1_CI_AS
    SQL_Latin1_General_CP1_CI_AS
    DATABASE_DEFAULT
    DATABASE_DEFAULT
    SQL_Latin1_General_CP1_CI_AS
    SQL_Latin1_General_CP1_CI_AS
    DATABASE_DEFAULT
    DATABASE_DEFAULT
    SQL_Latin1_General_CP1_CI_AS
    SQL_Latin1_General_CP1_CI_AS
    DATABAS_E_DEFAULT
    DATABASE_DEFAULT
    SQ_L_LATIN1_GENERAL_CP1_C_I_AS
    SQL_Latin1_General_CP1_CI_AS
    "DATABASE_DEFAULT"
    DATABASE_DEFAULT
    "SQL_Latin1_General_CP1_CI_AS"
    SQL_Latin1_General_CP1_CI_AS

    CreateMode, CreateModeArgs

    Default
    Default
    Copy
    Copy
    Secondary
    Secondary
    PointInTimeRestore
    PointInTimeRestore
    Restore
    Restore
    Recovery
    Recovery
    RestoreExternalBackup
    RestoreExternalBackup
    RestoreExternalBackupSecondary
    RestoreExternalBackupSecondary
    RestoreLongTermRetentionBackup
    RestoreLongTermRetentionBackup
    OnlineSecondary
    OnlineSecondary
    CreateModeDefault
    Default
    CreateModeCopy
    Copy
    CreateModeSecondary
    Secondary
    CreateModePointInTimeRestore
    PointInTimeRestore
    CreateModeRestore
    Restore
    CreateModeRecovery
    Recovery
    CreateModeRestoreExternalBackup
    RestoreExternalBackup
    CreateModeRestoreExternalBackupSecondary
    RestoreExternalBackupSecondary
    CreateModeRestoreLongTermRetentionBackup
    RestoreLongTermRetentionBackup
    CreateModeOnlineSecondary
    OnlineSecondary
    Default
    Default
    Copy
    Copy
    Secondary
    Secondary
    PointInTimeRestore
    PointInTimeRestore
    Restore
    Restore
    Recovery
    Recovery
    RestoreExternalBackup
    RestoreExternalBackup
    RestoreExternalBackupSecondary
    RestoreExternalBackupSecondary
    RestoreLongTermRetentionBackup
    RestoreLongTermRetentionBackup
    OnlineSecondary
    OnlineSecondary
    Default
    Default
    Copy
    Copy
    Secondary
    Secondary
    PointInTimeRestore
    PointInTimeRestore
    Restore
    Restore
    Recovery
    Recovery
    RestoreExternalBackup
    RestoreExternalBackup
    RestoreExternalBackupSecondary
    RestoreExternalBackupSecondary
    RestoreLongTermRetentionBackup
    RestoreLongTermRetentionBackup
    OnlineSecondary
    OnlineSecondary
    DEFAULT
    Default
    COPY
    Copy
    SECONDARY
    Secondary
    POINT_IN_TIME_RESTORE
    PointInTimeRestore
    RESTORE
    Restore
    RECOVERY
    Recovery
    RESTORE_EXTERNAL_BACKUP
    RestoreExternalBackup
    RESTORE_EXTERNAL_BACKUP_SECONDARY
    RestoreExternalBackupSecondary
    RESTORE_LONG_TERM_RETENTION_BACKUP
    RestoreLongTermRetentionBackup
    ONLINE_SECONDARY
    OnlineSecondary
    "Default"
    Default
    "Copy"
    Copy
    "Secondary"
    Secondary
    "PointInTimeRestore"
    PointInTimeRestore
    "Restore"
    Restore
    "Recovery"
    Recovery
    "RestoreExternalBackup"
    RestoreExternalBackup
    "RestoreExternalBackupSecondary"
    RestoreExternalBackupSecondary
    "RestoreLongTermRetentionBackup"
    RestoreLongTermRetentionBackup
    "OnlineSecondary"
    OnlineSecondary

    DatabaseIdentity, DatabaseIdentityArgs

    Type string | Pulumi.AzureNative.Sql.DatabaseIdentityType
    The identity type
    UserAssignedIdentities List<string>
    The resource ids of the user assigned identities to use
    Type string | DatabaseIdentityType
    The identity type
    UserAssignedIdentities []string
    The resource ids of the user assigned identities to use
    type String | DatabaseIdentityType
    The identity type
    userAssignedIdentities List<String>
    The resource ids of the user assigned identities to use
    type string | DatabaseIdentityType
    The identity type
    userAssignedIdentities string[]
    The resource ids of the user assigned identities to use
    type str | DatabaseIdentityType
    The identity type
    user_assigned_identities Sequence[str]
    The resource ids of the user assigned identities to use
    type String | "None" | "UserAssigned"
    The identity type
    userAssignedIdentities List<String>
    The resource ids of the user assigned identities to use

    DatabaseIdentityResponse, DatabaseIdentityResponseArgs

    TenantId string
    The Azure Active Directory tenant id.
    Type string
    The identity type
    UserAssignedIdentities Dictionary<string, Pulumi.AzureNative.Sql.Inputs.DatabaseUserIdentityResponse>
    The resource ids of the user assigned identities to use
    TenantId string
    The Azure Active Directory tenant id.
    Type string
    The identity type
    UserAssignedIdentities map[string]DatabaseUserIdentityResponse
    The resource ids of the user assigned identities to use
    tenantId String
    The Azure Active Directory tenant id.
    type String
    The identity type
    userAssignedIdentities Map<String,DatabaseUserIdentityResponse>
    The resource ids of the user assigned identities to use
    tenantId string
    The Azure Active Directory tenant id.
    type string
    The identity type
    userAssignedIdentities {[key: string]: DatabaseUserIdentityResponse}
    The resource ids of the user assigned identities to use
    tenant_id str
    The Azure Active Directory tenant id.
    type str
    The identity type
    user_assigned_identities Mapping[str, DatabaseUserIdentityResponse]
    The resource ids of the user assigned identities to use
    tenantId String
    The Azure Active Directory tenant id.
    type String
    The identity type
    userAssignedIdentities Map<Property Map>
    The resource ids of the user assigned identities to use

    DatabaseIdentityType, DatabaseIdentityTypeArgs

    None
    None
    UserAssigned
    UserAssigned
    DatabaseIdentityTypeNone
    None
    DatabaseIdentityTypeUserAssigned
    UserAssigned
    None
    None
    UserAssigned
    UserAssigned
    None
    None
    UserAssigned
    UserAssigned
    NONE
    None
    USER_ASSIGNED
    UserAssigned
    "None"
    None
    "UserAssigned"
    UserAssigned

    DatabaseKeyResponse, DatabaseKeyResponseArgs

    CreationDate string
    The database key creation date.
    Subregion string
    Subregion of the server key.
    Thumbprint string
    Thumbprint of the database key.
    Type string
    The database key type. Only supported value is 'AzureKeyVault'.
    CreationDate string
    The database key creation date.
    Subregion string
    Subregion of the server key.
    Thumbprint string
    Thumbprint of the database key.
    Type string
    The database key type. Only supported value is 'AzureKeyVault'.
    creationDate String
    The database key creation date.
    subregion String
    Subregion of the server key.
    thumbprint String
    Thumbprint of the database key.
    type String
    The database key type. Only supported value is 'AzureKeyVault'.
    creationDate string
    The database key creation date.
    subregion string
    Subregion of the server key.
    thumbprint string
    Thumbprint of the database key.
    type string
    The database key type. Only supported value is 'AzureKeyVault'.
    creation_date str
    The database key creation date.
    subregion str
    Subregion of the server key.
    thumbprint str
    Thumbprint of the database key.
    type str
    The database key type. Only supported value is 'AzureKeyVault'.
    creationDate String
    The database key creation date.
    subregion String
    Subregion of the server key.
    thumbprint String
    Thumbprint of the database key.
    type String
    The database key type. Only supported value is 'AzureKeyVault'.

    DatabaseLicenseType, DatabaseLicenseTypeArgs

    LicenseIncluded
    LicenseIncluded
    BasePrice
    BasePrice
    DatabaseLicenseTypeLicenseIncluded
    LicenseIncluded
    DatabaseLicenseTypeBasePrice
    BasePrice
    LicenseIncluded
    LicenseIncluded
    BasePrice
    BasePrice
    LicenseIncluded
    LicenseIncluded
    BasePrice
    BasePrice
    LICENSE_INCLUDED
    LicenseIncluded
    BASE_PRICE
    BasePrice
    "LicenseIncluded"
    LicenseIncluded
    "BasePrice"
    BasePrice

    DatabaseReadScale, DatabaseReadScaleArgs

    Enabled
    Enabled
    Disabled
    Disabled
    DatabaseReadScaleEnabled
    Enabled
    DatabaseReadScaleDisabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    Enabled
    Enabled
    Disabled
    Disabled
    ENABLED
    Enabled
    DISABLED
    Disabled
    "Enabled"
    Enabled
    "Disabled"
    Disabled

    DatabaseUserIdentityResponse, DatabaseUserIdentityResponseArgs

    ClientId string
    The Azure Active Directory client id.
    PrincipalId string
    The Azure Active Directory principal id.
    ClientId string
    The Azure Active Directory client id.
    PrincipalId string
    The Azure Active Directory principal id.
    clientId String
    The Azure Active Directory client id.
    principalId String
    The Azure Active Directory principal id.
    clientId string
    The Azure Active Directory client id.
    principalId string
    The Azure Active Directory principal id.
    client_id str
    The Azure Active Directory client id.
    principal_id str
    The Azure Active Directory principal id.
    clientId String
    The Azure Active Directory client id.
    principalId String
    The Azure Active Directory principal id.

    FreeLimitExhaustionBehavior, FreeLimitExhaustionBehaviorArgs

    AutoPause
    AutoPause
    BillOverUsage
    BillOverUsage
    FreeLimitExhaustionBehaviorAutoPause
    AutoPause
    FreeLimitExhaustionBehaviorBillOverUsage
    BillOverUsage
    AutoPause
    AutoPause
    BillOverUsage
    BillOverUsage
    AutoPause
    AutoPause
    BillOverUsage
    BillOverUsage
    AUTO_PAUSE
    AutoPause
    BILL_OVER_USAGE
    BillOverUsage
    "AutoPause"
    AutoPause
    "BillOverUsage"
    BillOverUsage

    SampleName, SampleNameArgs

    AdventureWorksLT
    AdventureWorksLT
    WideWorldImportersStd
    WideWorldImportersStd
    WideWorldImportersFull
    WideWorldImportersFull
    SampleNameAdventureWorksLT
    AdventureWorksLT
    SampleNameWideWorldImportersStd
    WideWorldImportersStd
    SampleNameWideWorldImportersFull
    WideWorldImportersFull
    AdventureWorksLT
    AdventureWorksLT
    WideWorldImportersStd
    WideWorldImportersStd
    WideWorldImportersFull
    WideWorldImportersFull
    AdventureWorksLT
    AdventureWorksLT
    WideWorldImportersStd
    WideWorldImportersStd
    WideWorldImportersFull
    WideWorldImportersFull
    ADVENTURE_WORKS_LT
    AdventureWorksLT
    WIDE_WORLD_IMPORTERS_STD
    WideWorldImportersStd
    WIDE_WORLD_IMPORTERS_FULL
    WideWorldImportersFull
    "AdventureWorksLT"
    AdventureWorksLT
    "WideWorldImportersStd"
    WideWorldImportersStd
    "WideWorldImportersFull"
    WideWorldImportersFull

    SecondaryType, SecondaryTypeArgs

    Geo
    Geo
    Named
    Named
    Standby
    Standby
    SecondaryTypeGeo
    Geo
    SecondaryTypeNamed
    Named
    SecondaryTypeStandby
    Standby
    Geo
    Geo
    Named
    Named
    Standby
    Standby
    Geo
    Geo
    Named
    Named
    Standby
    Standby
    GEO
    Geo
    NAMED
    Named
    STANDBY
    Standby
    "Geo"
    Geo
    "Named"
    Named
    "Standby"
    Standby

    Sku, SkuArgs

    Name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    Capacity int
    Capacity of the particular SKU.
    Family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    Size string
    Size of the particular SKU
    Tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    Name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    Capacity int
    Capacity of the particular SKU.
    Family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    Size string
    Size of the particular SKU
    Tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name String
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity Integer
    Capacity of the particular SKU.
    family String
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size String
    Size of the particular SKU
    tier String
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity number
    Capacity of the particular SKU.
    family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size string
    Size of the particular SKU
    tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name str
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity int
    Capacity of the particular SKU.
    family str
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size str
    Size of the particular SKU
    tier str
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name String
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity Number
    Capacity of the particular SKU.
    family String
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size String
    Size of the particular SKU
    tier String
    The tier or edition of the particular SKU, e.g. Basic, Premium.

    SkuResponse, SkuResponseArgs

    Name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    Capacity int
    Capacity of the particular SKU.
    Family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    Size string
    Size of the particular SKU
    Tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    Name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    Capacity int
    Capacity of the particular SKU.
    Family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    Size string
    Size of the particular SKU
    Tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name String
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity Integer
    Capacity of the particular SKU.
    family String
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size String
    Size of the particular SKU
    tier String
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name string
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity number
    Capacity of the particular SKU.
    family string
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size string
    Size of the particular SKU
    tier string
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name str
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity int
    Capacity of the particular SKU.
    family str
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size str
    Size of the particular SKU
    tier str
    The tier or edition of the particular SKU, e.g. Basic, Premium.
    name String
    The name of the SKU, typically, a letter + Number code, e.g. P3.
    capacity Number
    Capacity of the particular SKU.
    family String
    If the service has different generations of hardware, for the same SKU, then that can be captured here.
    size String
    Size of the particular SKU
    tier String
    The tier or edition of the particular SKU, e.g. Basic, Premium.

    Import

    An existing resource can be imported using its type token, name, and identifier, e.g.

    $ pulumi import azure-native:sql:Database testdb /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/databases/{databaseName} 
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Azure Native pulumi/pulumi-azure-native
    License
    Apache-2.0
    azure-native logo
    This is the latest version of Azure Native. Use the Azure Native v2 docs if using the v2 version of this package.
    Azure Native v3.2.0 published on Monday, Apr 14, 2025 by Pulumi