2012-03-01 40 views
20

SSMS hiển thị thêm (1 row(s) affected) mỗi khi tôi thực hiện insert/update. Ví dụ: thực hiện SQL sau đâyTại sao có thêm "(1 hàng) bị ảnh hưởng"

declare @a table (a int) 
insert into @a values (1), (2) 
update @a set a = 3 

Và SSMS sẽ hiển thị thông báo sau.

 
(2 row(s) affected) 

(1 row(s) affected) 

(2 row(s) affected) 

(1 row(s) affected) 

Tôi không tìm thấy bất kỳ kích hoạt cơ sở dữ liệu/máy chủ nào. Điều gì có thể gây ra thêm (1 row(s) affected)?

+0

Thats lẻ, tôi thực thi tập lệnh trên máy chủ sql 2008 r2 tôi nhận được chỉ hai thông báo '(2 hàng bị ảnh hưởng)'. – arunes

+0

Vâng, đúng thế. Và không có trình kích hoạt cơ sở dữ liệu/máy chủ. – ca9163d9

+0

Bạn có chắc chắn không? Với mã trên SSMS in (2 hàng (s) bị ảnh hưởng) hai lần. – Mithrandir

Trả lời

33

Điều đó thường có nghĩa là bạn đã bật tùy chọn actual execution plan. Kế hoạch thực hiện được gửi dưới dạng một hàng thêm, dẫn đến một thông báo (1 row(s) affected) bổ sung.

+2

Để vô hiệu hóa 'thực thi kế hoạch thực hiện' báo chí 'Ctrl + M' –

+0

Đây là tia nắng tỏa ra những đám mây sau một buổi chiều đầy lo âu. Tôi lo ngại rằng có một số tác dụng phụ lạ xảy ra mà đôi mắt mệt mỏi của tôi không thể nhìn thấy. Đó chỉ là kế hoạch thực hiện toàn bộ thời gian. Cảm ơn bạn! –

3

điều này sẽ không xảy ra. cố gắng nhìn vào actual execution plan, những gì đang xảy ra ở đó.

+0

Có, tôi đã bắt đầu một tab khác và thấy không có thêm thông báo vì kế hoạch thực thi thực tế không được bật. – ca9163d9

+2

Đối với tôi, nó đã được cập nhật chỉ mục nhóm. Vì vậy, một bản cập nhật cho chỉ mục + một cập nhật thực tế. – Neolisk

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