, SQL Server 2008. , , . SQL Setup . SQL Server, SQL Server Compact.
SQL Server 2005+, . , SQL- SA. % db_name% .
IF NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'%db_name%')
BEGIN
DECLARE @data_path nvarchar(1024), @db_path nvarchar(1024), @log_path nvarchar(1024)
EXEC master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\Microsoft SQL Server\Setup', N'SQLDataRoot', @data_path OUTPUT
SET @db_path = @data_path + N'\Data\%db_name%_Data.MDF';
SET @log_path = @data_path + N'\Data\%db_name%_log.ldf';
EXECUTE (N'
CREATE DATABASE [%db_name%] ON (NAME = N''%db_name%_Data'',
FILENAME = N''' + @db_path + N''',
SIZE = 3, FILEGROWTH = 10%) LOG ON (NAME = N''%db_name%_Log'',
FILENAME = N''' + @log_path + N''',
SIZE = 3, FILEGROWTH = 10%)
COLLATE SQL_Latin1_General_CP1_CI_AS')
END