osql -S"服务器名称" -U"用户名" -P"密码" -d"数据库名称" -i"输入文件全路径" -o"日志输出文件全路径" 例如: osql -S"192.168.85.126" -U"sa" -P"psw" -d"dbName" -i"F:\SQL文件夹\1.sql" -o"F:\SQL文件夹\日志\1.txt"
点击运行即可 也可以直接在代码里,生成并执行.bat文件 例子:
ublic string GetCMDOutString(string path, string arguments) { System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(); psi.FileName = path; psi.UseShellExecute = true; psi.Arguments = arguments; psi.CreateNoWindow = false; psi.RedirectStandardOutput = false; String s = ""; System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi); while (p.WaitForExit(0) == false) { s += p.StandardOutput.ReadLine() + "\r\n"; } return s; } 处理效率还不错,更新五万条数据,一共用25秒,其中只有15秒实在执行数据库操作,且cpu占用不高。 |
using System;
using System.Diagnostics; namespace ProcessSample { class ProcessMonitorSample { public static void Main() { // Define variables to track the peak // memory usage of the process. long peakPagedMem = 0, peakWorkingSet = 0, peakVirtualMem = 0; Process myProcess = null; try { // Start the process. myProcess = Process.Start("NotePad.exe"); // Display the process statistics until // the user closes the program. do { if (!myProcess.HasExited) { // Refresh the current process property values. myProcess.Refresh(); Console.WriteLine(); // Display current process statistics. Console.WriteLine("{0} -", myProcess.ToString()); Console.WriteLine("-------------------------------------"); Console.WriteLine(" physical memory usage: {0}", myProcess.WorkingSet64); Console.WriteLine(" base priority: {0}", myProcess.BasePriority); Console.WriteLine(" priority class: {0}", myProcess.PriorityClass); Console.WriteLine(" user processor time: {0}", myProcess.UserProcessorTime); Console.WriteLine(" privileged processor time: {0}", myProcess.PrivilegedProcessorTime); Console.WriteLine(" total processor time: {0}", myProcess.TotalProcessorTime); Console.WriteLine(" PagedSystemMemorySize64: {0}", myProcess.PagedSystemMemorySize64); Console.WriteLine(" PagedMemorySize64: {0}", myProcess.PagedMemorySize64); // Update the values for the overall peak memory statistics. peakPagedMem = myProcess.PeakPagedMemorySize64; peakVirtualMem = myProcess.PeakVirtualMemorySize64; peakWorkingSet = myProcess.PeakWorkingSet64; if (myProcess.Responding) { Console.WriteLine("Status = Running"); } else { Console.WriteLine("Status = Not Responding"); } } } while (!myProcess.WaitForExit(1000)); Console.WriteLine(); Console.WriteLine("Process exit code: {0}", myProcess.ExitCode); // Display peak memory statistics for the process. Console.WriteLine("Peak physical memory usage of the process: {0}", peakWorkingSet); Console.WriteLine("Peak paged memory usage of the process: {0}", peakPagedMem); Console.WriteLine("Peak virtual memory usage of the process: {0}", peakVirtualMem); } finally { if (myProcess != null) { myProcess.Close(); } } } } }