データベースからデータをコピーするために使用されるバッチ ファイルがあります。データベースには 7,500 万件を超えるレコードがあります。
だから私は 8 つの出力ファイルを作成しました..それぞれ 1000 万の検索範囲。
バッチファイルは次のとおりです。
echo off
REM -t"^^" -r"~`~"
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b1.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F1 -L10000000 -t"^^" -r"~`~"
REM "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b2.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F10000001 -L20000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b3.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F20000001 -L30000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b4.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F30000001 -L40000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b5.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F40000001 -L50000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b6.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F50000001 -L60000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b7.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F60000001 -L70000000 -t"^^" -r"~`~"
rem "C:\Program Files\Microsoft SQL Server\100\Tools\Binn\bcp" "DatabaseD1.dbo.TOOLS_AUDIT" out audit_b8.dat -S"LDNPCM05927V05B\DSDCU_MAIN2_UAT" -UUserID -PPassword-c -F70000001 -L80000000 -t"^^" -r"~`~"
一時停止
私が従っている方法は次のとおりです。remを使用して最後の7つのステートメントにコメントを付け、最初の行のみを実行します..次に、2行目を除くすべての行にコメントを付け、バッチファイルを実行します..など..最後までライン..
最初の行では、レコードをコピーするのに 45 分かかりました。2 行目で 1 時間 20 分、3 行目で 2 時間 5 分、というように、時間はどんどん増えていきます。
誰かがそのようなバッチ ファイルを最適化する方法を提案できますか?
よろしく アストッシュ