1- حذف و ساخت ديتابيس مورد نظر
var
DBName, AddressDB: string;
begin
DBName := Trim(Edit2.Text);
AddressDB := 'C:\';
LBReports.BiDiMode := bdLeftToRight;
LBReports.Clear;
LBReports.Items.Add('-- حذف ديتابيس در صورت وجود --');
LBReports.Items.Add('IF EXISTS (SELECT NAME FROM Master.dbo.SysDatabases WHERE NAME = N'+QuotedStr(DBName)+')');
LBReports.Items.Add(' DROP DATABASE ['+DBName+']');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('-- ايجاد ديتابيس --');
LBReports.Items.Add('CREATE DATABASE ['+DBName+'] ON (NAME = N'+QuotedStr(DBName+'_Data')+', FILENAME = N'+QuotedStr(AddressDB+DBName+'_Data.MDF')+' , SIZE = 1, FILEGROWTH = 10%) LOG ON (NAME = N'+QuotedStr(DBName+'_Log')+', FILENAME = N'+QuotedStr(AddressDB+DBName+'_Log.LDF')+' , SIZE = 1, FILEGROWTH = 10%)');
LBReports.Items.Add(' COLLATE Arabic_CI_AI_KS_WS');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''autoclose'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''bulkcopy'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''trunc. log'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''torn page detection'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''read only'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''dbo use'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''single'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''autoshrink'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI null default'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''recursive triggers'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI nulls'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''concat null yields null'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''cursor close on commit'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''default to local cursor'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''quoted identifier'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''ANSI warnings'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''auto create statistics'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('exec sp_dboption N'+QuotedStr(DBName)+', N''auto update statistics'', N''true''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.Add('if( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) )');
LBReports.Items.Add(' exec sp_dboption N'+QuotedStr(DBName)+', N''db chaining'', N''false''');
LBReports.Items.Add('GO');
LBReports.Items.Add('');
LBReports.Items.SaveToFile(ExtractFilePath(Applica tion.ExeName)+'1.SQL');