2013-07-29 43 views
53

Tôi có một tệp sql 123MB mà tôi cần thực thi trong máy tính cục bộ của mình. Nhưng tôi nhận đượcKhông thể thực thi tập lệnh: Không đủ bộ nhớ để tiếp tục thực hiện chương trình

Cannot execute script: Insufficient memory to continue the execution of the program 

enter image description here

Làm thế nào để giải quyết vấn đề này?

+0

@marc_s Khi tôi nhấp vào Ctlr + E nó ngay lập tức hiển thị lỗi này – user960567

+1

Có thể trùng lặp của [Bắt lỗi trong khi chạy tập lệnh 50 MB trên SQL Server 2008 R2] (http://stackoverflow.com/questions/11307435/getting-error- trong khi-chạy-50-mb-script-trên-sql-server-2008-r2) –

Trả lời

74

sử dụng công cụ dòng lệnh SQLCMD vốn dựa vào bộ nhớ nhiều hơn. Nó cũng đơn giản như:

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

Bạn cần chứng chỉ hợp lệ để truy cập dụ SQL Server của bạn hoặc thậm chí truy cập vào một cơ sở dữ liệu

Taken từ here.

+2

Nguyên văn từ: http://stackoverflow.com/q/11307435/773702 – Josh

+0

@Josh: Cảm ơn thông tin tôi quên thêm –

+12

Với thông tin đầy đủ, chỉ định db và máy chủ: sqlcmd -S -U -P -d -i a4bike

4

Nếu tôi hiểu vấn đề của bạn một cách chính xác, bạn đang cố khôi phục (giao dịch sql) xyz.sql - cơ sở dữ liệu + lược đồ. Bạn có thể thử lệnh này làm việc cho tôi:

SQLCMD -U sa -i xyz.sql 
5

Bạn cũng có thể tăng giá trị bộ nhớ máy chủ tối đa trong thuộc tính máy chủ. Để chỉnh sửa cài đặt này, nhấp chuột phải vào tên máy chủ và chọn Thuộc tính> Thẻ nhớ.

Tôi gặp lỗi này khi cố gắng thực thi tập lệnh SQL 30MB trong SSMS 2012. Sau khi tăng giá trị từ 1024MB lên 2048MB, tôi có thể chạy tập lệnh.

(Đây là cùng một câu trả lời tôi đã cung cấp here)

+0

Câu trả lời hay! Cảm ơn. –

15

Nó có thể giúp bạn! Vui lòng xem các bước dưới đây.

sqlcmd -S máy chủ tên -d cơ sở dữ liệu tên -i script.sql

  • mở cmd.exe as Administrator.
  • Tạo thư mục Tài liệu.
  • Đặt tập lệnh SQL Script (script.sql) vào thư mục tài liệu.
  • Nhập truy vấn bằng sqlcmd, tên máy chủ, tên cơ sở dữ liệu và tên tệp kịch bản giống như truy vấn được đánh dấu ở trên hoặc bên dưới màn hình dòng lệnh.

enter image description here

+0

Bạn có thể đặt tên người dùng -sa và mật khẩu -123, sqlcmd -S viaserver -U sa -P 123 -d TelstraDeployed -i SQLQuery1.sql –

2

Đôi khi, do kích thước nặng của kịch bản và dữ liệu, chúng ta gặp phải loại lỗi. Máy chủ cần đủ bộ nhớ để thực thi và đưa ra kết quả. Chúng tôi chỉ đơn giản có thể tăng kích thước bộ nhớ, cho mỗi truy vấn.

Bạn chỉ cần chuyển đến các thuộc tính máy chủ sql> Thẻ nhớ (bên trái)> Bây giờ thiết lập giới hạn bộ nhớ tối đa bạn muốn thêm.

Ngoài ra, có một tùy chọn ở trên cùng, "Kết quả thành văn bản", tiêu thụ ít bộ nhớ hơn so với tùy chọn "Kết quả thành lưới", chúng tôi cũng có thể đi đến Kết quả thành văn bản để thực thi bộ nhớ ít hơn.

0

sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D: \ qldbscript.sql

  • mở dấu nhắc lệnh trong Run as administrator

  • nhập trên lệnh

"mamxxxxxmu" là tên máy tính "sqlserverr" là máy chủ tên "sa" là tên người dùng của máy chủ "x1123" là mật khẩu của máy chủ "QLDB" là tên cơ sở dữ liệu "D: \ qldbscript.sql" là tập lệnh sql t o thực hiện trong cơ sở dữ liệu

0

Hãy thử bước này,

1) Thu gọn danh PowerShell

2) Viết lệnh này:

sqlcmd -S PCNAME\SQLEXPRESS -U user -P password -d databanse_name -i C:\script.sql 

3) Nhấn Return

:-)

enter image description here

Các vấn đề liên quan