Đang cập nhật máy chủ sql. Cập nhật cơ sở dữ liệu Microsoft SQL Server. Cập nhật giá trị trong nhiều trường hàng

Bài viết này mô tả thông tin bạn cần để theo dõi các bản cập nhật cho Microsoft SQL Server.
Trước khi nâng cấp, bạn cần tìm hiểu xem phiên bản nào đã được cài đặt. Cần có số chính xác, bao gồm cả số bản dựng. Được mô tả chi tiết hơn trong phần "Câu hỏi".

Máy chủ MS SQL

MS SQL Server (Bản dựng chính thức)
RTM (không có SP)SP1SP2SP3SP4Ghi chú
Máy chủ SQL 2017 14.0.1000.169 - - - - -
Máy chủ SQL 2016 13.0.1601.5 13.0.4001.0
(13.1.4001.0)
13.0.5026.0
(13.2.5026.0)
- -
Máy chủ SQL 2014 12.0.2000.8 12.0.4100.1
(12.1.4100.1)
12.0.5000.0
(12.2.5000.0)
- - Khi làm việc với bản sao, nên sử dụng SP1 hoặc cao hơn.
Máy chủ SQL 2012 11.0.2100.60 11.0.3000.0
(11.1.3000.0)
11.0.5058.0
(11.2.5058.0)
11.0.6020.0
(11.3.6020.0)
11.0.7001.0
(11.4.7001.0)
Máy chủ SQL 2008 R2 10.50.1600.1 10.50.2500.0
(10.51.2500.0)
10.50.4000.0
(10.52.4000.0)
10.50.6000.34
(10.53.6000.34)
- Khi làm việc với bản sao, nên sử dụng SP2 hoặc cao hơn.
Máy chủ SQL 2008 10.0.1600.22 10.0.2531.0
(10.1.2531.0)
10.0.4000.0
(10.2.4000.0)
10.0.5500.0
(10.3.5500.0)
10.0.6000.29
(10.4.6000.29)
Khi làm việc với bản sao, nên sử dụng SP3 hoặc cao hơn.
Máy chủ SQL 2005 9.0.1399.06 9.0.2047 9.0.3042 9.0.4035 9.0.5000 Khi làm việc với bản sao, nên sử dụng SP4.

Câu hỏi

Q: Làm thế nào để xác định phiên bản?
Đáp: Để xác định chính xác phiên bản bạn có, hãy chạy yêu cầu CHỌN @@ PHIÊN BẢN.

Câu hỏi: Việc nâng cấp từ Express lên Standard có hiệu quả hay ngược lại không?
Đáp: Các bản cập nhật mang tính phổ quát và phù hợp với mọi phiên bản của một phiên bản máy chủ cụ thể.

Hỏi: Làm cách nào để cài đặt bản cập nhật?
A: Chỉ có cái cuối cùng thôi. Ví dụ: đối với SQL 2014: 12.0.2000.8 => 12.0.5000.0. SP mới nhất trong danh sách chứa các gói dịch vụ trước đó

Q: Căn cứ có bị phá hủy không?
Ôi không. Nhưng việc không có bản sao lưu không khiến chuyên gia tự động hóa trở thành chuyên gia!

Hỏi: Điều gì xảy ra với việc sao chép?
Đáp: Không có gì đặc biệt. Nguyên tắc cập nhật: đầu tiên là máy chủ trung tâm, sau đó là người đăng ký. Việc trao đổi phải được hoàn tất cho tất cả người đăng ký tại thời điểm này. Trong trường hợp hoạt động suốt ngày đêm, cần đảm bảo rằng tác phẩm được chuyển sang một PC khác (ví dụ: sang nhà xuất bản hoặc người đăng ký dự phòng).

Hỏi: Mất bao lâu để cài đặt các bản cập nhật?
Đáp: Thời gian cài đặt khác nhau tùy theo phiên bản. Trung bình, quy trình cập nhật mất từ ​​10 đến 30 phút, có thể lâu hơn.

Câu hỏi: Có thể làm việc với cơ sở dữ liệu vào thời điểm này không?
Đáp: Hoàn toàn không.

Một số tài nguyên hữu ích

  • Tài liệu cho tất cả các sản phẩm;
  • Diễn đàn hỗ trợ kỹ thuật Microinvest, nơi bạn có thể nhanh chóng nhận được câu trả lời cho câu hỏi của mình;
  • Ví dụ về tự động hóa nhà hàng và thương mại dựa trên Microinvest ở Nga và các nước CIS;
  • Lịch trình đào tạo sắp tới tại Nga và các nước CIS;

Trong bài viết này, tôi sẽ nói về quá trình cập nhật cơ sở dữ liệu Microsoft SQL Server và cung cấp một sản phẩm phần mềm có thể được sử dụng trong quá trình tương tác giữa khách hàng và nhà thầu.

Trước hết, tại sao điều này lại cần thiết?

Công ty chúng tôi tham gia phát triển phần mềm và trong hầu hết các trường hợp, chúng tôi sử dụng Microsoft SQL Server làm DBMS. Để cụ thể, chúng tôi sẽ gọi công ty phát triển “ người biểu diễn", và công ty khách hàng -" khách hàng».

Trong quá trình thực hiện các thay đổi đối với cơ sở dữ liệu, các lập trình viên của nhà phát triển sẽ tạo ra một tập lệnh được tạo thủ công hoặc bằng phần mềm chuyên dụng.

Sau đó, các vấn đề sau phát sinh:

  1. về phía người thực thi, kiểm tra việc thực thi một tập lệnh trong cơ sở dữ liệu kiểm tra;
  2. về phía khách hàng, thực thi các tập lệnh trong cơ sở dữ liệu làm việc của khách hàng;
Giả sử rằng cả lập trình viên và người kiểm tra đều có thể kiểm tra việc thực thi các tập lệnh trong cơ sở dữ liệu thử nghiệm bằng cách sử dụng Microsoft SQL Server Managerment Studio (SSMS). Nhưng không thể ép buộc khách hàng thực hiện các thao tác này trong SSMS, vì:
  • anh ta có thể chưa cài đặt SSMS;
  • khách hàng có thể không có kiến ​​thức về cách làm việc với cơ sở dữ liệu. Và nhìn chung thì không nên;
  • nếu xảy ra lỗi khi thực thi tập lệnh, khách hàng sẽ khó tập hợp để gửi cho nhà phát triển;

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

Chúng tôi đã phát triển một sản phẩm phần mềm “Trình quản lý cập nhật cơ sở dữ liệu”, bao gồm hai chương trình:
  • chương trình chuẩn bị gói cập nhật;
  • chương trình thực thi gói cập nhật;
Chương trình chuẩn bị cập nhật
Chương trình được sử dụng bởi người biểu diễn. Các lập trình viên sử dụng nó để tạo một tập lệnh thành một tệp.

Trong số các tính năng của chương trình này, có thể lưu ý hai điểm:

  • thông tin về cấu trúc của cơ sở dữ liệu tham chiếu có thể được thêm vào gói cập nhật được tạo. Nếu thông tin đó có trong gói, thì khách hàng, sau khi hoàn tất cập nhật, có thể so sánh cấu trúc cơ sở dữ liệu của mình với cơ sở dữ liệu tham chiếu;
  • Đối với khách hàng, chương trình thực hiện cập nhật được truyền dưới dạng một tệp EXE duy nhất, trong đó các tập lệnh và cấu trúc của cơ sở dữ liệu tham chiếu được nhúng vào.
Chương trình thực hiện cập nhật
Như đã đề cập, chương trình được khởi chạy bằng một tệp EXE duy nhất. Trong hầu hết các trường hợp, người dùng chỉ cần nhập thông tin đăng ký (nhân tiện, những giá trị này có thể được bao gồm trong gói cập nhật) và nhấp vào “Tiếp theo” ở mọi nơi.

Màn hình thứ hai được cập nhật. Sau này, bạn có thể so sánh cấu trúc của cơ sở dữ liệu tham chiếu được nhúng trong gói và cấu trúc hiện tại (trên đó quá trình cập nhật được thực hiện).

Việc phân tích sự khác biệt trong cấu trúc được thực hiện trong giao diện đồ họa của chương trình cập nhật.

Thật không may, các lập trình viên của nhà thầu xem những khác biệt trong tệp nhật ký văn bản, sau đó được khách hàng gửi. Một cách tiếp cận thú vị để giải quyết vấn đề này được đề xuất trong bài Kiểm soát các thay đổi trong cấu trúc cơ sở dữ liệu. Nhiệm vụ này không quá quan trọng; lập trình viên có thể tự viết script để đưa cấu trúc đến đích.

Gói phần mềm được phân phối theo thỏa thuận cấp phép Phần mềm miễn phí, bạn có thể tải xuống trình cài đặt từ liên kết

Trong bài viết này chúng tôi sẽ chỉ ra cách nâng cấp phiên bản dùng thử (Evaluation Edition) hoặc phiên bản Express của SQL Server 2008 R2 lên phiên bản hoạt động đầy đủ của SQL Standard hoặc Enterprise. Bạn có thể gặp phải sự cố tương tự khi cài đặt phiên bản dùng thử của SQL Server để kiểm tra/phát triển một sản phẩm phần mềm nhất định. Điều thường xảy ra là sau khi kết thúc quá trình kiểm tra như vậy/kết thúc giai đoạn đánh giá, người ta đưa ra quyết định chuyển hệ thống sang vận hành sản xuất, do đó cần phải chuyển sang phiên bản SQL Server đầy đủ tính năng, nhưng bạn thì làm như vậy. không muốn cài đặt lại DBMS.

Ghi chú. Hướng dẫn này cũng áp dụng cho Microsoft SQL Server 2012 và R2.

Thời gian dùng thử SQL Server SQL 2008 R2 (và các phiên bản mới hơn) là – 180 ngày. Sau khi thời gian dùng thử kết thúc, dịch vụ SQL Server sẽ không khởi động được nữa. Trong trường hợp SQL Server Express, có giới hạn về kích thước của cơ sở dữ liệu.

Bạn chỉ có thể nâng cấp giấy phép giấy phép của mình mà không cần phải cài đặt lại SQL Server từ phiên bản cơ sở lên phiên bản cao hơn, ví dụ: Phiên bản đánh giá/Phiên bản Express với Dịch vụ nâng cao -> Tiêu chuẩn hoặc trực tiếp lên Doanh nghiệp.

Sau khi thời gian thử nghiệm kết thúc, khi bạn thử mở SQL Server Management Studio, một cửa sổ lỗi xuất hiện:

Thời gian đánh giá đã hết. Để biết thông tin về cách nâng cấp phần mềm đánh giá của bạn, vui lòng truy cập http://www.microsoft.com/sql/howtobuy

Cập nhật phiên bản MS SQL Server 2008 R2

Trong phần đầu tiên, chúng ta sẽ tìm hiểu cách cập nhật phiên bản SQL Server bằng khóa cấp phép được mua từ Microsoft hoặc đối tác.

Hãy khởi chạy Trung tâm cài đặt SQL (Bắt đầu -> Tất cả chương trình -> Microsoft SQL Server 2008 R2 -> Công cụ cấu hình -> Trung tâm cài đặt máy chủ SQL (64-bit)).

Khuyên bảo. Có thể mở cùng một cửa sổ bằng cách chạy setup.exe từ đĩa cài đặt SQL Server

Hãy đến phần dịch vụ ( BẢO TRÌ) và chọn mục Phiên bảnNâng cấp(Cập nhật biên tập). Trình hướng dẫn nâng cấp phiên bản sẽ khởi chạy.

Và làm theo lời nhắc của trình hướng dẫn, hãy nhập khóa cấp phép SQL Server vào trường thích hợp.

Sau đó, bạn cần chọn bản sao (phiên bản) của SQL Server mà bạn muốn cập nhật.

Báo cáo cuối cùng sẽ cho biết trạng thái nâng cấp phiên bản và liên kết đến nhật ký văn bản chi tiết.

Bạn có thể kiểm tra phiên bản SQL Server nào bạn đang sử dụng Studio quản lý máy chủ SQL bằng cách nhấp chuột phải vào tên dụ. Trong ví dụ của chúng tôi, đây là SQL Server Enterprise.

Thao tác tương tự có thể được thực hiện từ dòng lệnh bằng cách chạy tệp setup.exe từ đĩa phân phối SQL Server với các tham số đã chỉ định.

Setup.exe /Q /ACTION=editionupgrade /INSTANCENAME= /PID=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx /IAcceptSQLServerLinceTerms /Indicateprogress

Khuyên bảo. Khi nâng cấp từ SQL Server Express, bạn cũng phải kích hoạt dịch vụ SQL Server Agent và sử dụng Trình quản lý cấu hình máy chủ SQL để đặt cài đặt tài khoản dịch vụ cho dịch vụ SQL Server Agent.

Nâng cấp lên phiên bản SQL Server doanh nghiệp của công ty (Giấy phép số lượng lớn)

Nếu muốn nâng cấp phiên bản SQL Server hiện tại của mình theo chương trình Cấp phép số lượng lớn của Microsoft, bạn sẽ ngạc nhiên khi Trung tâm dịch vụ cấp phép số lượng lớn của Microsoft (MS VLSC) không có khóa cho SQL Server.

Thực tế là khóa được tích hợp trực tiếp vào bản phân phối. Điều thú vị nhất là bộ phận hỗ trợ VLSC khuyên bạn nên gỡ cài đặt SQL Server đã cài đặt và cài đặt lại bằng tệp iso với bản phân phối SQL được tải xuống từ VLSC.

May mắn thay, vẫn có thể lấy được khóa chính xác trực tiếp từ hệ thống phân phối


Cập nhật dữ liệu trong cơ sở dữ liệu có nghĩa là thay đổi giá trị trong các bản ghi bảng hiện có. Trong trường hợp này, có thể vừa thay đổi giá trị của các trường trong một nhóm hàng (thậm chí tất cả các hàng của bảng) vừa chỉnh sửa giá trị của một trường trong một hàng riêng lẻ.

Trong SQL, bạn có thể thay đổi một bản ghi trong bảng cơ sở dữ liệu bằng lệnh UPDATE. Ở dạng tối giản nhất, lệnh cập nhật dữ liệu trông như thế này:

CẬP NHẬT bảng SET trường = giá trị

Đây, CẬP NHẬT– lệnh chỉ ra rằng yêu cầu cập nhật dữ liệu;

bàn– tên của bảng nơi các thay đổi sẽ được thực hiện;

BỘ– một lệnh theo sau là các trường được phân tách bằng dấu phẩy với các giá trị được gán;

cánh đồng– trường bảng mà thay đổi sẽ được thực hiện;

nghĩa– một giá trị mới sẽ được nhập vào trường.


Ví dụ: nếu bạn cần đặt một trường trong tất cả các hàng của bảng thành 0, bạn có thể chạy truy vấn sau:

CẬP NHẬT hàng giá SET = 0

Trong trường hợp này, trường giá ở tất cả các hàng có sẵn của bảng sẽ có giá trị 0.

Thay đổi một giá trị

Việc thay đổi giá trị của tất cả các trường trong một bảng là cực kỳ hiếm. Thông thường cần phải thay đổi giá trị của một mục cụ thể. Để thực hiện việc này, ở cuối dòng có lệnh UPDATE, một lệnh WHERE sẽ được thêm vào, chỉ định một điều kiện xác định thao tác cập nhật sẽ được thực hiện trên dòng nào.

Có một cái bàn:

Ví dụ: chúng ta cần cập nhật giá thành của một sản phẩm với giá trị mà chúng ta đã biết. Để thực hiện việc này, hãy chạy truy vấn sau:

CẬP NHẬT hàng hóa giá SET = 150 WHERE num = 2

Bây giờ, trước khi thực hiện thao tác thay đổi trường, một hàng thỏa mãn điều kiện num = 2 sẽ được chọn. Chỉ có một hàng như vậy trong bảng. Ở cổ phiếu này giá sẽ được thay đổi thành giá trị 150. Kết quả chúng ta sẽ nhận được một bảng có giá thay đổi của sản phẩm.

Thực hiện thay đổi cho nhiều dòng với điều kiện lựa chọn

Nếu bạn nhớ tất cả các điều kiện đa dạng trong truy vấn, bạn có thể tưởng tượng các mẫu có thể đa dạng đến mức nào. Do đó, các truy vấn cập nhật có thể được thực thi bằng một hàng hoặc với một nhóm hàng hoặc với tất cả các hàng của bảng. Tất cả phụ thuộc vào nhiệm vụ bạn đang phải đối mặt, cũng như những hàng trong bảng bạn cần thực hiện các thao tác cập nhật.

Ví dụ: chúng tôi muốn giảm một nửa giá của tất cả hàng hóa hiện có giá từ 100 trở lên. Lời yêu cầu:

CẬP NHẬT hàng hóa Giá SET = giá / 2 Giá WHERE >= 100

Tình trạng Ở ĐÂUỞ đây chứa một quy tắc theo đó chỉ những sản phẩm có giá bằng hoặc lớn hơn 100 mới được chọn và những sản phẩm có giá dưới 100 sẽ không bị ảnh hưởng bởi yêu cầu.

giá = giá / 2– công thức tính giá mới của hàng hóa. Giá mới sẽ được ghi bằng giá cũ chia đôi.

Kết quả của việc thực hiện truy vấn như vậy, chúng ta sẽ thu được một bảng có các bản ghi đã thay đổi:

Cập nhật giá trị trong nhiều trường hàng

Nếu cần cập nhật nhiều trường cùng một lúc, tất cả các trường có giá trị của chúng sẽ được biểu thị sau lệnh SET, phân tách bằng dấu phẩy. Ví dụ bạn cần đổi tên và giá của sản phẩm có mã số 2 thành “sắt”, giá 300:

CẬP NHẬT hàng hóa SET title = "iron" , price = 300 WHERE num = 2 !}

Truy vấn này sẽ gán giá trị cho từng trường phù hợp trong một hàng. Và điều kiện sẽ cho biết những thay đổi sẽ được thực hiện ở dòng nào.


Sau đây là các loại hoạt động cập nhật chính. Dựa trên chúng, các truy vấn được tạo ra để giải quyết hầu hết các vấn đề sửa đổi dữ liệu trong quá trình phát triển bằng SQL.

Microsoft® SQL Server 2005 - Express Edition là phiên bản miễn phí và đi kèm với phần mềm Parsec 2.5 và 3. Nó lưu trữ tất cả dữ liệu hệ thống. Hạn chế của sản phẩm này là kích thước cơ sở dữ liệu là 4 gigabyte. Sau khi đạt đến ngưỡng này, dữ liệu mới sẽ ngừng được ghi vào hệ thống, dẫn đến mất đi tính liên quan của thông tin được lưu trữ. Để giải quyết vấn đề này, bạn cần nâng cấp lên phiên bản trả phí của SQL Server (không có hạn chế về kích thước cơ sở dữ liệu) hoặc nâng cấp lên Microsoft SQL Server 2008 R2 SP2 Express. SQL Server 2008 R2 SP2 Express là cơ sở dữ liệu miễn phí có giới hạn kích thước cơ sở dữ liệu là 10 gigabyte.

1. Trước tiên, bạn cần tải xuống Microsoft® SQL Server® 2008 R2 SP2 - Express Edition từ www.microsoft.com theo liên kết: http://www.microsoft.com/en-US/download/details.aspx? id= 30438 kích thước tệp 110,4 MB

QUAN TRỌNG: Để cập nhật, bạn cần có phiên bản tiếng Anh 32-bit!

2. Trên Windows XP, Vista, 2003, 2008, quá trình cài đặt có thể yêu cầu nền tảng phần mềm NET.Framework 3.5 SP1. Bạn có thể tải xuống theo liên kết http://www.microsoft.com/ru-ru/Download/details.aspx?id=22 (Tải xuống nền tảng này trước khi cập nhật SQL Server)
Trên Windows 7, 2008 R2 Server, 8, 8.1, 2012 và 2012 R2 Server, .NET Framework 3.5 là một tính năng của Windows và được cài đặt thông qua Control Panel\All Control Panel Items\Programs and Features "Bật hoặc tắt các tính năng của Windows"

3. Chạy tệp đã tải xuống.

4. Đợi cho đến khi gói cài đặt được giải nén và quá trình cài đặt bắt đầu.

5. Trong hộp thoại cài đặt mở ra, bạn phải chọn mục menu "Nâng cấp từ SQL 2000, SQL Server 2005 hoặc SQL Server 2008 Lauch a Wizard để nâng cấp SQL 2000, SQL Server 2005 hoặc SQL Server 2008 lên SQL Server 2008 R2"

6. Trong cửa sổ tiếp theo, bạn phải Chấp nhận các điều khoản của thỏa thuận cấp phép - “Tôi chấp nhận các điều khoản cấp phép”.

7. Trong cửa sổ cài đặt "Chọn phiên bản", bạn phải chọn cơ sở dữ liệu mà bạn định cập nhật. "Phiên bản cần nâng cấp" (PARSEC3 - dành cho ParsecNET 3, PARSECDB - dành cho ParsecNET 2.5)

8. Đợi cửa sổ cài đặt “Báo cáo lỗi” mới xuất hiện, bạn không cần phải chọn hộp kiểm được đề xuất trong menu này.

9. Trong cửa sổ “Nâng cấp vai trò”, hãy nhấp vào “Hiển thị chi tiết”, một cửa sổ sẽ mở trong đó bạn có thể xem quá trình cài đặt các thành phần và bạn cũng có thể thấy lỗi nếu chúng đột ngột phát sinh.

10. Đợi cho đến khi quá trình cài đặt và cập nhật các thành phần máy chủ SQL hoàn tất - cuối cùng sẽ xuất hiện thông báo cập nhật thành công - “Your SQL Server nâng cấp thành công”.

11. Bạn có thể đóng cửa sổ cài đặt “Đóng” và thoát bằng dấu thập. Bạn đã nâng cấp SQL Server 2005 Express lên MS SQL Server 2008 R2 Express SP2 EN.