SQL: How to Attach database automatically using batch script

6 พ.ย.

วันนี้ต้อง batch script ไว้ Attach Database File เนื่องจากไม่เคยใช้ SQLCmd มาก่อนก็เลยลองค้นๆดู ก็พบว่ามันก็ไม่มีอะไรยากเลย มีคำสั่งแต่ไม่กี่ตัว ที่เหลือก็อยู่ที่การเอาไปประยุคใช้งานเท่านั้น

ใช้คำสั่ง SQLCmd -? เพื่อดูคำสั่งทั้งหมดได้

SQLCmd

ทีนี้ก็แค่เอามาเขียนเป็น batch script โดยใช้ SQL Command คล้ายๆกับตอนที่ใช้งานผ่าน SQL Studio Management ปรกติ

ตัวอย่าง batch script

@echo off
If exist "C:\Program Files" Set ePath=C:\Program Files
If exist "C:\Program Files (x86)" set ePath=C:\Program Files (x86)

SQLCMD -E -S %COMPUTERNAME%\SQLEXPRESS -d master -Q "EXEC sp_attach_db @dbname=N'ADB',@filename1=N'%ePath%\[Folder Name]\[Database Name].mdf',@filename2=N'%ePath%\[Folder Name]\[Database Name]_log.ldf'"

@echo ---- Attached new database----
timeout /t 2 /nobreak>nul
@echo ---- End ----
ping -n 5 127.0.0.1>nul
exit

หรือหากต้องการ add SQL user login ด้วยก็เพิ่ม Code ต่อไปนี้เข้าไป

sqlcmd -E -S %computername%\SQLEXPRESS -d master -Q "EXEC sp_addlogin @loginame=N'Username',@passwd='Password'"

reference
How to: Attach a Database File to SQL Server Express
Using the sqlcmd Utility (SQL Server Express)
Run SQL commands from Windows Batch file OR Attach/Detach database automatically using batch script.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: