Full Disclosure Report
Full Disclosure Report
Full Disclosure Report
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
sqlcmd -E -Q"alter database %DB% set PAGE_VERIFY NONE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"alter database tempdb set PAGE_VERIFY NONE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
:BULKINSERT<br />
if NOT '%DoBULKINSERT%' == 'TRUE' goto :CREATEINDEX<br />
rem<br />
rem BULKINSERT starts a process per %DBGEN_PARALLELISM%<br />
rem Each process inserts one or more segments<br />
rem<br />
sqlcmd -E -Q"sp_dboption %DB%,'trunc',TRUE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"sp_dboption %DB%,'select into',TRUE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -Q"sp_dboption %DB%,'torn',FALSE" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
echo Dropping and Re-Creating Tables<br />
sqlcmd -E -d%DB% -Q"if exists (select * from sysobjects where name =<br />
'LOADTIMES') drop table LOADTIMES" -b -o<br />
%OUTPUTPATH%\Drop_Loadtimes.out<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -d%DB% -Q"create table LOADTIMES(STEP<br />
char(35),TIMESTAMP datetime)" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('LOAD<br />
begin',getdate())" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Create Tables<br />
begin',getdate())" -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
for %%i in (REGION NATION SUPPLIER PARTSUPP PART<br />
CUSTOMER ORDERS LINEITEM) do sqlcmd -E -d%DB% -Q"drop table<br />
%%i" -o %OUTPUTPATH%\Drop_Table_%%i.out<br />
sqlcmd -E -e -d%DB% -i%DB%\CreateTables.sql -o<br />
%OUTPUTPATH%\CreateTables.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Create Tables<br />
end',getdate())" -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
echo Starting bulk inserts<br />
for %%i in (LINEITEM ORDERS CUSTOMER PART PARTSUPP<br />
SUPPLIER) do call :BULKINSERTi %%i<br />
echo for NATION and REGION<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Nation/Region<br />
insert begin',getdate())" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -Q"bulk insert NATION from<br />
'%FLATFILEDRIVE%\%FLATFILEDIR%1%FLATFILESUBDIR%\Natio<br />
n.tbl' with (FieldTerminator = '|', RowTerminator ='|\n',tablock)" -o<br />
%OUTPUTPATH%\BulkInsert_Nation.out -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -Q"bulk insert REGION from<br />
'%FLATFILEDRIVE%\%FLATFILEDIR%1%FLATFILESUBDIR%\Regio<br />
n.tbl' with (FieldTerminator = '|', RowTerminator ='|\n',tablock)" -o<br />
%OUTPUTPATH%\BulkInsert_Region.out -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -Q"insert into LOADTIMES values ('Nation/Region<br />
insert end',getdate())" -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
goto :CREATEINDEX<br />
:BULKINSERTi<br />
echo Starting bulk inserts for %1<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('%1 bulk insert<br />
begin',getdate())" -l 300<br />
for /l %%j in (1,1,%DBGEN_PARALLELISM%) do start cmd /C Setup<br />
BULKINSERTn %1 %%j<br />
semaphore -wait %1 -count %DBGEN_PARALLELISM%<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('%1<br />
end',getdate())" -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
goto :EOF<br />
:BULKINSERTn<br />
for /l %%k in<br />
(%3,%DBGEN_PARALLELISM%,%DBGEN_SEGMENTS%) do call<br />
:BULKINSERTn2 BULKINSERTn2 %2 %%k<br />
semaphore -release %2<br />
goto :EOF<br />
:BULKINSERTn2<br />
sqlcmd -E -e -d%DB% -Q"bulk insert %2 from<br />
'%FLATFILEDRIVE%\%FLATFILEDIR%%3%FLATFILESUBDIR%\%2.<br />
tbl.%3' with (FieldTerminator = '|', RowTerminator ='|\n',tablock)" -o<br />
%OUTPUTPATH%\BulkInsert_%2_%3.out -b -l 300<br />
goto :EOF<br />
:CREATEINDEX<br />
if NOT '%DoCREATEINDEX%' == 'TRUE' goto :CLEANUP<br />
rem<br />
rem Create Indexes<br />
rem<br />
echo %TIME% Starting create indexes<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Create indexes<br />
begin',getdate())" -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -i %DB%\CreateIndexes_1.sql -o<br />
%OUTPUTPATH%\CreateIndexes_1.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -i %DB%\CreateFK.sql -o<br />
%OUTPUTPATH%\CreateFK.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -i %DB%\CreateIndexes_2.sql -o<br />
%OUTPUTPATH%\CreateIndexes_2.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
echo Starting create indexes<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Create indexes<br />
end',getdate())" -b -l 300<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
echo %TIME% Done creating indexes indexes<br />
:CLEANUP<br />
if NOT '%DoCLEANUP%' == 'TRUE' goto :BACKUP<br />
rem<br />
rem CLEANUP sets statistics and lock options<br />
rem<br />
echo Setting Cleanup Options<br />
sqlcmd -E -d%DB% -Q"insert into LOADTIMES values ('Cleanup<br />
start',getdate())" -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
sqlcmd -E -e -d%DB% -Q"sp_createstats @fullscan='fullscan' " -o<br />
%OUTPUTPATH%\CreateStats.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
osql -I -E -e -d%DB% -Q"alter database %DB% set<br />
date_correlation_optimization ON" -o<br />
%OUTPUTPATH%\DateCorrelation.out -b<br />
if ERRORLEVEL 1 goto :ERROR_EXIT<br />
HP TPC-H FULL DISCLOSURE REPORT 85 July, 2010<br />
© 2010 Hewlett-Packard Company. All rights reserved.