2011-07-18 48 views
37

Tôi cần thay đổi một cơ sở dữ liệu bằng cách sử dụng tệp lô, ví dụ đơn giản, thả bảng. Tôi đang sử dụng SQL Express cục bộ (SQL Server 2008 R2) với người dùng sa và mật khẩu của nó.Thực thi tập lệnh SQL từ dòng lệnh

Tệp dơi sẽ như thế nào?

Làm cách nào tôi có thể chỉ định trong tập lệnh mật khẩu và tôi sử dụng trong SQL Express?

Trả lời

43

Hãy xem tiện ích sqlcmd. Nó cho phép bạn thực hiện SQL từ dòng lệnh.

http://msdn.microsoft.com/en-us/library/ms162773.aspx

Đó là tất cả ở đó trong tài liệu, nhưng cú pháp nên tìm một cái gì đó như thế này:

sqlcmd -U myLogin -P myPassword -S MyServerName -d MyDatabaseName 
    -Q "DROP TABLE MyTable" 
31

Bạn có thể làm như thế này

sqlcmd -S <server Name> -U sa -P sapassword -i inputquery_file_name -o outputfile_name 

Từ lệnh chạy nhanh chóng của bạn sqlcmd /? để nhận tất cả các tùy chọn mà bạn có thể sử dụng với tiện ích sqlcmd

+0

cung cấp một tên tập tin chứa tất cả các truy vấn SQL của tôi là nhiều hơn nữa tiện dụng hơn so với cung cấp các truy vấn SQL dưới dạng đối số dòng lệnh. – RBT

14

Nếu bạn sử dụng an ninh tích hợp, bạn có thể muốn biết rằng bạn chỉ cần sử dụng -E như thế này:

sqlcmd -S Serverinstance -E -i import_file.sql 
Các vấn đề liên quan