اجرای Scripts حجیم در SQL

در برخی موارد که ما نیازمند اجرای Scripts در محیط SQL Server Management Studio (SSMS)  هستیم

در صورتی که حجم فایل اسکریپت زیاد باشد با خطای Insufficient memory to continue the execution of the program مواجه میشویم

جهت حل این مشکل میتوانیم از SQLCMD  استفاده کنیم

SQLCMD یک رابط کنسول و خط فرمان جهت کار با SQL Server می باشد

ابتدا CMD ویندوز را با دسترسی مدیر(Administator) اجرا کنید

فرمان زیر را با توجه به نام فایل اسکریپت و نام دیتابیس اجرا کنید

SQLCMD -d <database-name> -i filename.sql

 

برای مثال

SQLCMD -d Amirweb -i C:\script.sql

 

با اجرای این فرمان در کنسول، میبینید که شروع به اجرای اسکریپت می‌کند

 

در نهایت بعد از پایان شما دوباره خط فرمان را خواهید دید

 

در اینجا لیست پارامتر‌های که می‌توانید در SQLCMD استفاده کنید را قرار می‌دهم

sqlcmd   
   -a packet_size  
   -A (dedicated administrator connection)  
   -b (terminate batch job if there is an error)  
   -c batch_terminator  
   -C (trust the server certificate)  
   -d db_name  
   -e (echo input)  
   -E (use trusted connection)  
   -f codepage | i:codepage[,o:codepage] | o:codepage[,i:codepage] 
   -g (enable column encryption) 
   -G (use Azure Active Directory for authentication)
   -h rows_per_header  
   -H workstation_name  
   -i input_file  
   -I (enable quoted identifiers)  
   -j (Print raw error messages)
   -k[1 | 2] (remove or replace control characters)  
   -K application_intent  
   -l login_timeout  
   -L[c] (list servers, optional clean output)  
   -m error_level  
   -M multisubnet_failover  
   -N (encrypt connection)  
   -o output_file  
   -p[1] (print statistics, optional colon format)  
   -P password  
   -q "cmdline query"  
   -Q "cmdline query" (and exit)  
   -r[0 | 1] (msgs to stderr)  
   -R (use client regional settings)  
   -s col_separator  
   -S [protocol:]server[instance_name][,port]  
   -t query_timeout  
   -u (unicode output file)  
   -U login_id  
   -v var = "value"  
   -V error_severity_level  
   -w column_width  
   -W (remove trailing spaces)  
   -x (disable variable substitution)  
   -X[1] (disable commands, startup script, environment variables, optional exit)  
   -y variable_length_type_display_width  
   -Y fixed_length_type_display_width  
   -z new_password   
   -Z new_password (and exit)  
خروج از نسخه موبایل