Skip to content

Instantly share code, notes, and snippets.

@gsitgithub
Forked from justingarrick/generic_create.sql
Last active August 29, 2015 14:24
Show Gist options
  • Save gsitgithub/d5480e0883a8160a6150 to your computer and use it in GitHub Desktop.
Save gsitgithub/d5480e0883a8160a6150 to your computer and use it in GitHub Desktop.
USE [master]
DECLARE @dbName NVARCHAR(MAX)
SET @dbName ='Derp' -- Your DB name here
DECLARE @sql NVARCHAR(MAX)
DECLARE @template NVARCHAR(MAX)
DECLARE @dataDir NVARCHAR(MAX)
SET @dataDir = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1) FROM master.sys.master_files WHERE database_id = 1 AND file_id = 1)
SET @template = N'CREATE DATABASE [{dbName}] CONTAINMENT = NONE ON PRIMARY (NAME = N''{dbName}'', FILENAME = N''{dataDir}{dbName}.mdf'', SIZE = 4096KB, MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB) LOG ON (NAME = N''{dbName}_log'', FILENAME = N''{dataDir}{dbName}_log.ldf'', SIZE = 1024KB, MAXSIZE = 2048GB, FILEGROWTH = 10%)'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
SET @sql = REPLACE(@sql, '{dataDir}', @dataDir)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET COMPATIBILITY_LEVEL = 110'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) begin
SET @template = N'[{dbName}].[dbo].[sp_fulltext_database] @action = ''enable'''
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
end
SET @template = N'ALTER DATABASE [{dbName}] SET ANSI_NULL_DEFAULT OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET ANSI_NULLS OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET ANSI_PADDING OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET ANSI_WARNINGS OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET ARITHABORT OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET AUTO_CLOSE OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET AUTO_CREATE_STATISTICS ON'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET AUTO_SHRINK OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET AUTO_UPDATE_STATISTICS ON'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET CURSOR_CLOSE_ON_COMMIT OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET CURSOR_DEFAULT GLOBAL'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET CONCAT_NULL_YIELDS_NULL OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET NUMERIC_ROUNDABORT OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET QUOTED_IDENTIFIER OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET RECURSIVE_TRIGGERS OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET DISABLE_BROKER'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET AUTO_UPDATE_STATISTICS_ASYNC OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET DATE_CORRELATION_OPTIMIZATION OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET TRUSTWORTHY OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET ALLOW_SNAPSHOT_ISOLATION OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET PARAMETERIZATION SIMPLE'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET READ_COMMITTED_SNAPSHOT OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET HONOR_BROKER_PRIORITY OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET RECOVERY FULL'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET MULTI_USER'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET PAGE_VERIFY CHECKSUM'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET DB_CHAINING OFF'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET FILESTREAM(NON_TRANSACTED_ACCESS = OFF)'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET TARGET_RECOVERY_TIME = 0 SECONDS'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
SET @template = N'ALTER DATABASE [{dbName}] SET READ_WRITE'
SET @sql = REPLACE(@template, '{dbName}', @dbName)
PRINT @sql
EXECUTE (@sql)
GO
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment