SSMS 2016, Nhóm khả dụng, cơ sở dữ liệu bị lỗi mã hóa


7

Trong khi đánh giá khả năng nâng cấp các phiên bản SQL Server 2012 lưu trữ AG lên SQL Server 2016, chúng tôi đã gặp phải một vấn đề lạ không thực sự có ý nghĩa. Một trong những cách dễ dàng hơn để chứng minh là như sau:

Giả sử bạn muốn thêm cơ sở dữ liệu vào AG (ví dụ 2012 đang được sử dụng). Trình hướng dẫn SSMS 2012 hoặc SSMS 2014 không cho thấy bất ngờ:

nhập mô tả hình ảnh ở đây

SSMS 2016 tuy nhiên kể câu chuyện hoàn toàn khác:

nhập mô tả hình ảnh ở đây

Đối với các cơ sở dữ liệu đã là một phần của AG, nó nói rằng Không đáp ứng được các điều kiện tiên quyết, thay vì một phần cơ sở dữ liệu và đối với những người không ở AG, họ nói rằng Mật khẩu bắt buộc phải có lời giải thích như sau:

"Cơ sở dữ liệu này được mã hóa bằng khóa chính cơ sở dữ liệu, bạn cần cung cấp mật khẩu hợp lệ khi thêm nó vào nhóm khả dụng."

Vấn đề với thông báo này là không có cơ sở dữ liệu nào sử dụng bất kỳ mã hóa nào.

Vấn đề tương tự cũng xuất hiện nếu bạn khôi phục cơ sở dữ liệu từ bản sao lưu AG 2012 vào năm 2016 và cố gắng thêm nó vào 2016 AG bằng thuật sĩ SSMS 2016.


Khi bạn khôi phục bản sao lưu DB 2012 thành 2016, bạn có thay đổi chế độ tương thích thành 2016 hoặc để nó vào năm 2012 không? Tôi đã thấy điều này khi giao dịch với SSISDB trên SQL 2014 với SSMS 2016. Với SSISDB, vấn đề đã biết với SSMS 2016 là bạn chỉ có thể sử dụng SSMS 2016 với SSIS 2016. Các phiên bản trước không chơi tốt. Mục 3 trong bài viết sau: docs.microsoft.com/en-us/sql/ssms/ Kẻ
Kris Gruttemeyer

Tôi gặp vấn đề tương tự và sử dụng tsql để thiết lập thay vì GUI, hoạt động tốt. Không có khóa chính nhưng tôi vẫn nhận được thông báo lỗi tương tự.
SqlWorldWide

@Kris: Tôi đã thử cả hai, không có sự khác biệt nào.
Eternum

@SqlWorldWide: Đúng, T-SQL hoạt động, tôi cũng đã thử điều đó. Điều khó hiểu là sau khi tôi thêm cơ sở dữ liệu vào năm 2016 bằng T-SQL, SSMS 2016 hiển thị cơ sở dữ liệu mới được thêm là "Không đáp ứng các điều kiện tiên quyết" thay vì "Đã là một phần của nhóm khả dụng này". Một cái gì đó vẫn còn sai lầm khủng khiếp. Câu hỏi là - cái gì?
Eternum

@Eternum "Đã là một phần của nhóm khả dụng này" trong tiểu học hay trung học? Nó có hiển thị trong sys.database không?
SqlWorldWide

Câu trả lời:


9

Vấn đề với thông báo này là không có cơ sở dữ liệu nào sử dụng bất kỳ mã hóa nào.

Điều đó có thể đúng :) Tuy nhiên, đó không phải là lỗi mà ...

"Cơ sở dữ liệu này được mã hóa bằng khóa chính cơ sở dữ liệu, bạn cần cung cấp mật khẩu hợp lệ khi thêm nó vào nhóm khả dụng."

Lỗi là nói, bằng tiếng Anh đơn giản: Bạn có một cơ sở dữ liệu có, bên trong nó, một khóa chủ cơ sở dữ liệu. Khóa chủ cơ sở dữ liệu đó được mã hóa bằng mật khẩu. Tôi cần bạn cung cấp cho tôi mật khẩu đó để tôi có thể giải mã bất kỳ đối tượng nào có thể được mã hóa bằng nó.

Đây là một repro siêu nhanh để cung cấp cho bạn "thông điệp":

CREATE DATABASE PasswordTest;
GO

USE PasswordTest;
GO

CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘$up3r$tr0ng
GO

SMSS không nói rằng nó không thể sử dụng cơ sở dữ liệu, nó yêu cầu mật khẩu để mở khóa chính.

Cách khắc phục là gì?

Bạn có một vài lựa chọn, nhưng đây là hai lựa chọn tốt nhất:

  1. Nhấp vào bên phải của tin nhắn, bạn thực sự có thể nhập mật khẩu và trình hướng dẫn sẽ cho phép bạn tiếp tục mà không gặp sự cố (vì giờ đây nó có thể mở khóa chính).
  2. Nếu bạn không sử dụng khóa chính ... Thả nó .

Hóa ra cơ sở dữ liệu đã có khóa chủ.

Có, như lỗi được chỉ định. Đây không phải là nghi ngờ :)

ảnh chụp màn hình trong câu hỏi ban đầu của tôi là từ ví dụ năm 2012. Tại sao thuật sĩ SSMS 2012 và 2014 không đề cập bất cứ điều gì về khóa chính, nhưng thuật sĩ SSMS 2016 đã làm gì?

Nó đã được thêm vào trong SSMS 2016 ... Không chắc chắn những gì bạn đang tìm kiếm ở đây khi các mục được thêm vào phiên bản mới.

Và SSMS 2016 cũng không có hộp chỉnh sửa nào để nhập mật khẩu.

Tôi không biết - hoạt động trong ...

nhập mô tả hình ảnh ở đây

Tôi biết chính xác những gì bạn đề cập đến, nhưng trong trường hợp của tôi không có gì, chỉ có khoảng trống trong cột "Mật khẩu", điều này làm tăng thêm sự nhầm lẫn. Bạn có nghĩ rằng có thể có một lỗi trong SSMS 2016 hoặc bạn có một số lời giải thích cho hành vi này?

Xem ảnh chụp màn hình ở trên - Tôi nghĩ rằng nó hoạt động như dự định, ít nhất là đối với tôi ... Nó có thể không trực quan, nhưng nó hoạt động.

Kết quả cuối cùng là như nhau. Nếu bạn không phải là fan hâm mộ của GUI mang đến cho bạn sự đau buồn thì luôn có PowerShell và T-SQL :) Nếu bạn cảm thấy rằng điều này không hoạt động như dự định hoặc bạn không thích nó, tôi sẽ yêu cầu bạn đăng bài Phản hồi về Kết nối .


Cảm ơn bạn đã bình luận chi tiết. Hóa ra cơ sở dữ liệu đã có khóa chủ. Tôi phải đào sâu vào vấn đề này và tìm hiểu tại sao nó lại bắt đầu. Tôi đã bỏ khóa chủ và SSMS 2016 hiển thị cơ sở dữ liệu là "Đáp ứng các điều kiện tiên quyết". Vì vậy, phần đó được giải quyết. Nhưng điều vẫn khiến tôi tự hỏi là điều này. Cả hai ảnh chụp màn hình trong câu hỏi ban đầu của tôi là từ cùng một ví dụ năm 2012. Tại sao thuật sĩ SSMS 2012 và 2014 không đề cập bất cứ điều gì về khóa chính, nhưng thuật sĩ SSMS 2016 đã làm gì? Đây là những gì chủ yếu làm tôi bối rối. Và SSMS 2016 cũng không có hộp chỉnh sửa nào để nhập mật khẩu.
Eternum

Tôi biết chính xác những gì bạn đề cập đến, nhưng trong trường hợp của tôi không có gì, chỉ có khoảng trống trong cột "Mật khẩu", điều này làm tăng thêm sự nhầm lẫn. Bạn có nghĩ rằng có thể có một lỗi trong SSMS 2016 hoặc bạn có một số lời giải thích cho hành vi này?
Eternum

@Eternum cập nhật để phản ánh ý kiến ​​của bạn.
Sean Gallardy - Người dùng đã nghỉ hưu

0

Bổ sung cho câu trả lời của Sean Gallardy:

Nhấp vào bên phải của tin nhắn, bạn thực sự có thể nhập mật khẩu và trình hướng dẫn sẽ cho phép bạn tiếp tục mà không gặp sự cố (vì giờ đây nó có thể mở khóa chính).

(mặt-lòng bàn tay) ... Vâng, bạn có thể nhấp vào khoảng trống vô hình ở bên phải và nhập mật khẩu ... NHƯNG ĐỢI ... bạn cũng phải nhấp vào nút làm mới tại thời điểm này! (khả năng sử dụng thất bại :)

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.