'Script to delete and create Azure SQL DB in a loop
In my project, I use Azure SQL DB and Azure DevOps. To be able to get clean test results. I want to delete bases before each release to the environment. I wrote this script
USE master;
DROP DATABASE IF EXISTS [account-feature]
GO
WAITFOR DELAY '00:02'
CREATE DATABASE [account-feature] (EDITION = 'Standard', SERVICE_OBJECTIVE = ELASTIC_POOL ( name = [feature] ), MAXSIZE = 5 GB) WITH CATALOG_COLLATION = SQL_Latin1_General_CP1_CI_AS;
GO
ALTER DATABASE [account-feature] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [account-feature] SET ANSI_NULLS OFF
GO
ALTER DATABASE [account-feature] SET ANSI_PADDING OFF
GO
ALTER DATABASE [account-feature] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [account-feature] SET ARITHABORT OFF
GO
ALTER DATABASE [account-feature] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [account-feature] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [account-feature] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [account-feature] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [account-feature] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [account-feature] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [account-feature] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [account-feature] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [account-feature] SET ALLOW_SNAPSHOT_ISOLATION ON
GO
ALTER DATABASE [account-feature] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [account-feature] SET READ_COMMITTED_SNAPSHOT ON
GO
ALTER DATABASE [account-feature] SET MULTI_USER
GO
ALTER DATABASE [account-feature] SET ENCRYPTION ON
GO
ALTER DATABASE [account-feature] SET QUERY_STORE = ON
GO
ALTER DATABASE [account-feature] SET QUERY_STORE (OPERATION_MODE = READ_WRITE, CLEANUP_POLICY = (STALE_QUERY_THRESHOLD_DAYS = 30), DATA_FLUSH_INTERVAL_SECONDS = 900, INTERVAL_LENGTH_MINUTES = 60, MAX_STORAGE_SIZE_MB = 100, QUERY_CAPTURE_MODE = AUTO, SIZE_BASED_CLEANUP_MODE = AUTO, MAX_PLANS_PER_QUERY = 200, WAIT_STATS_CAPTURE_MODE = ON)
GO
GO
GO
ALTER DATABASE [account-feature] SET READ_WRITE
GO
I would like to get away from using WAITFOR DELAY '00:02' I would like to somehow check in a loop when I can create a database. And how can I pass values directly to SQL script with Azure DevOps? Thanks.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
