Có một danh sách đầy đủ các hoạt động trực tuyến cho mỗi phiên bản SQL Server không?


20

Khi chúng tôi sắp thay đổi một số bảng lớn trong cơ sở dữ liệu 5TB của mình, tôi thấy mình cần một danh sách các thao tác có thể được thực hiện trực tuyến và yêu cầu phải khóa toàn bộ khóa trong khi chúng chạy. Lý tưởng nhất, danh sách này cũng sẽ chứa thông tin về những câu lệnh nào yêu cầu khóa SCH-M để cam kết ở cuối.

Mặc dù tôi biết hầu hết trong số họ từ thời còn ở Microsoft, tôi đã ngạc nhiên rằng tôi không thể tìm thấy danh sách các hoạt động trực tuyến có sẵn công khai khi chúng phát triển từ SQL Server 2005 và đến năm 2014 CTP.

Có ai có sẵn một danh sách như vậy? Nếu không, tôi có thể quyết định tạo ra nó.


4
Tôi nghĩ rằng bạn có thể đang nhìn vào điều này từ phía sai của quang phổ. Thay vì nội suy những gì bạn có thể làm trực tuyến, bạn nên lấy những gì bạn cần làm và tìm hiểu những gì có thể được thực hiện trực tuyến. "Trực tuyến" là một thuật ngữ rất chung chung và khi bạn biểu thị phụ thuộc vào sự tương tranh. Câu hỏi tiếp theo của tôi sẽ là "chính xác thì bạn đang cố gắng làm gì?"
Thomas Stringer

2
Tôi không đồng ý @ThomasStringer - những lựa chọn bạn sẽ đưa ra trong một hệ thống lớn sẽ phụ thuộc vào những gì bạn có thể làm chứ không phải những gì bạn muốn làm. Tôi muốn mọi thứ đều trực tuyến - nhưng tôi biết điều đó là không thể - vì vậy tôi đang cố gắng lập bản đồ không gian thiết kế.
Thomas Kejser

"Chúng tôi sắp thay đổi một số bảng lớn" ... Bạn đang thay đổi điều gì? Đó là những gì tôi đang cố gắng đạt được. Tôi nghi ngờ lịch trình của bạn cho phép bạn chỉ cần đưa ra những điều ngẫu nhiên để làm trong một bảng lớn trong cơ sở dữ liệu lớn, vì vậy bạn phải có một số thao tác trong tâm trí. Nếu bạn đang tìm kiếm những hoạt động đòi hỏi sự ổn định của lược đồ hoặc sửa đổi các khóa đó là một thứ hoàn toàn khác. Một lần nữa ... "trực tuyến" là trong mắt của người theo dõi / người yêu cầu.
Thomas Stringer

2
Nếu không tìm thấy nguồn có thẩm quyền, sẽ rất hữu ích cho những người đọc trong tương lai liệt kê những gì bạn biết là một hoạt động trực tuyến từ thời gian của bạn tại MS.
billinkc

8
Danh sách này thế nào rồi? :)
nmad

Câu trả lời:


5

Âm thanh như một cam kết. Các hoạt động chỉ mục trực tuyến không có sẵn trong mọi phiên bản Microsoft SQL Server, hy vọng điều này có thể giúp bạn bắt đầu (dưới dạng bảng):

Máy chủ SQL 2012: http://msdn.microsoft.com/en-us/l Library / ms190981.aspx

Máy chủ SQL 2008R2: http://msdn.microsoft.com/en-us/l Library / ms190981 (v = sql.105) .aspx

Máy chủ SQL 2008: http://msdn.microsoft.com/en-us/l Library / ms190981 (v = sql.100) .aspx

SQL Server 2005: http://msdn.microsoft.com/en-us/l Library / ms190981 (v = sql.90) .aspx


5

SQL Server 2014 không giới thiệu các hoạt động trực tuyến mới mỗi lần, nhưng cải thiện một số hoạt động để tăng tính khả dụng. Từ phần mới :

Chuyển đổi phân vùng và lập chỉ mục

Các phân vùng riêng lẻ của các bảng được phân vùng có thể được xây dựng lại. Để biết thêm thông tin, hãy xem ALTER INDEX (Transact-SQL).

Quản lý ưu tiên khóa của hoạt động trực tuyến

Tùy chọn ONLINE = ON hiện chứa tùy chọn WAIT_AT_LOW_PRIORITY cho phép bạn chỉ định thời gian quá trình xây dựng lại sẽ chờ bao lâu cho các khóa cần thiết. Tùy chọn WAIT_AT_LOW_PRIORITY cũng cho phép bạn định cấu hình chấm dứt các quá trình chặn liên quan đến câu lệnh xây dựng lại đó. Để biết thêm thông tin, hãy xem ALTER TABLE (Transact-SQL) và ALTER INDEX (Transact-SQL). Khắc phục sự cố thông tin về các loại trạng thái khóa mới có sẵn trong sys.dm_tran_locks (Transact-SQL) và sys.dm_os_wait_stats (Transact-SQL).

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.