Creating an MSSQL Database
Is it possible to create a new MS SQL database from a coldfusion script or query?
We're trying to create databases and their respective datasources on the fly. We've conquered creating a new datasource successfully and coldfusion has a variety of support for creating tables, altering them etc,
but can you create a new Database itself with coldfusion on the fly?
Thanks in advance,
Brian
For example would it be possible to run this script where #FORM.datasource# is a form variable from a web form...
CREATE DATABASE [#FORM.datasource#] ON PRIMARY
( NAME = N'#FORM.datasource#', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\#FORM.datasource#.mdf' , SIZE = 2048KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'#FORM.datasource#_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\#FORM.datasource#_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
EXEC dbo.sp_dbcmptlevel @dbname=N'#FORM.datasource#', @5557993_cmptlevel=90
GO
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled'))
begin
EXEC [#FORM.datasource#].[dbo].[sp_fulltext_database] @2915192 = 'disable'
end
GO
ALTER DATABASE [#FORM.datasource#] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [#FORM.datasource#] SET ANSI_NULLS OFF
GO
ALTER DATABASE [#FORM.datasource#] SET ANSI_PADDING OFF
GO
ALTER DATABASE [#FORM.datasource#] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [#FORM.datasource#] SET ARITHABORT OFF
GO
ALTER DATABASE [#FORM.datasource#] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [#FORM.datasource#] SET AUTO_CREATE_STATISTICS ON
GO
ALTER DATABASE [#FORM.datasource#] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [#FORM.datasource#] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [#FORM.datasource#] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [#FORM.datasource#] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [#FORM.datasource#] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [#FORM.datasource#] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [#FORM.datasource#] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [#FORM.datasource#] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [#FORM.datasource#] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [#FORM.datasource#] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [#FORM.datasource#] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [#FORM.datasource#] SET READ_WRITE
GO
ALTER DATABASE [#FORM.datasource#] SET RECOVERY FULL
GO
ALTER DATABASE [#FORM.datasource#] SET MULTI_USER
GO
ALTER DATABASE [#FORM.datasource#] SET PAGE_VERIFY CHECKSUM
GO
USE [#FORM.datasource#]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [#FORM.datasource#] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
