I am trying to create a database using variables, so that the variables can be passed in when the script is run. But when I run the code below I keep on getting an error - any clues what I have done wrong? I’ve not used variables before, so sorry if it is obvious.
(NB The script was creating using the auto-create functions within SQL server)
(NB The script was creating using the auto-create functions within SQL server)
Code:
DECLARE @database varchar(30)
SET @database = 'TESTdb'
USE [master]
GO
CREATE DATABASE [@database] ON PRIMARY
( NAME = N''+@database+'_dat', FILENAME = N'D:\Data\'+@database+'.mdf' , SIZE = 1932672KB , MAXSIZE = UNLIMITED, FILEGROWTH = 20%)
LOG ON
( NAME = N''+@database+'_log', FILENAME = N'L:\LOGS\'+@database+'_log.LDF' , SIZE = 8653056KB , MAXSIZE = UNLIMITED, FILEGROWTH = 20%)
COLLATE Latin1_General_CI_AS
GO
EXEC dbo.sp_dbcmptlevel @dbname=N@database, @new_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [@database].[dbo].[sp_fulltext_database] @action = 'disable'
end
GO
ALTER DATABASE [@database] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [@database] SET ANSI_NULLS OFF
GO
ALTER DATABASE [@database] SET ANSI_PADDING OFF
GO
ALTER DATABASE [@database] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [@database] SET ARITHABORT OFF
GO
ALTER DATABASE [@database] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [@database] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [@database] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [@database] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [@database] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [@database] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [@database] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [@database] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [@database] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [@database] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [@database] SET DISABLE_BROKER
GO
ALTER DATABASE [@database] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [@database] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [@database] SET TRUSTWORTHY OFF
GO
ALTER DATABASE [@database] SET ALLOW_SNAPSHOT_ISOLATION OFF
GO
ALTER DATABASE [@database] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [@database] SET READ_WRITE
GO
ALTER DATABASE [@database] SET RECOVERY FULL
GO
ALTER DATABASE [@database] SET MULTI_USER
GO
ALTER DATABASE [@database] SET PAGE_VERIFY TORN_PAGE_DETECTION
GO
ALTER DATABASE [@database] SET DB_CHAINING OFF