I have SQL script (in one sql file) which
- Create database if it does not exists
- Create tables if they are not exist
I have started like:
IF ServerProperty('Edition') <> 'SQL Azure'
BEGIN
DECLARE @createDatabaseSqlStatement NVARCHAR(MAX)
SET @createDatabaseSqlStatement =
'DECLARE @TargetDatabase VARCHAR(128) = ''MyDatabase''
IF (NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE (''['' + name + '']'' = @TargetDatabase OR name = @TargetDatabase)))
BEGIN
CREATE DATABASE MyDatabase
END
USE [MyDatabase]'
EXEC sp_executesql @createDatabaseSqlStatement
END
SET NOCOUNT ON
DECLARE @DefaultAdministrator varchar(100) = 'admin'
DECLARE @DefaultPassword varchar(100) = 'tester01!!'
DECLARE @DefaultAdministatorEmail varchar(100) = '[email protected]'
DECLARE @DefaultUserRoleName varchar(100) = 'rolename'
DECLARE @DefaultAdministratorRoleName varchar(100) = 'role'
--CREATE TABLES
--CREATE THE 'AspNetUsers' TABLE
IF OBJECT_ID (N'AspNetUsers', N'U') IS NULL
BEGIN
CREATE TABLE [dbo].[AspNetUsers](
[Id] [nvarchar](128) NOT NULL,
[Email] [nvarchar](256) NULL,
[EmailConfirmed] [bit] NOT NULL,
[PasswordHash] [nvarchar](max) NULL,
[SecurityStamp] [nvarchar](max) NULL,
[PhoneNumber] [nvarchar](max) NULL,
[PhoneNumberConfirmed] [bit] NOT NULL,
[TwoFactorEnabled] [bit] NOT NULL,
[LockoutEndDateUtc] [datetime] NULL,
[LockoutEnabled] [bit] NOT NULL,
[AccessFailedCount] [int] NOT NULL,
[UserName] [nvarchar](256) NOT NULL,
[SystemId] [nvarchar](max) NOT NULL
CONSTRAINT DF__AspNetUsers__SystemId DEFAULT (''),
[LastLogonTime] [datetime2] NULL,
[BlockReason] [nvarchar](1000) NULL,
[EmailConfirmationDateUtc] [datetime] NULL
CONSTRAINT [PK_dbo.AspNetUsers] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
CREATE UNIQUE NONCLUSTERED INDEX [UserNameIndex] ON [dbo].[AspNetUsers]
(
[UserName] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
END
...
I have issue that tables are not created in MyDatabase database and they are stored in master database.
How to solve issue ? How to create table into MyDatabase database instead of master ?
If I put USE [MyDatabase] after SET NOCOUNT ON then script failed that MyDatabase is not found (in SQL Management Studio)