Cách khôi phục bản sao sau sự cố máy chủ


8

Chúng tôi đã có hai cơ sở dữ liệu trên một phiên bản SQL Server 2005 với sự sao chép giao dịch giữa chúng (3 bảng dưới dạng bài viết). Máy chủ này đóng vai trò là nhà xuất bản và nhà phân phối.

Sau đó, RAID trên máy chủ không thành công. Tuy nhiên, chúng tôi đã quản lý để tách và sao chép gần như tất cả .mdfcác tệp trước khi sự cố.

Sau khi hệ thống được khôi phục, chúng tôi đã cài đặt lại SQL Server, khôi phục cơ sở dữ liệu hệ thống (chính, mô hình, msdb) và đặt các .mdftệp vào cùng một đường dẫn. Thế là nó bắt đầu.

Vấn đề xuất hiện với sự nhân rộng. Các địa phương Ấn thư mục trống rỗng, mặc dù Subscriptions Local thư mục chứa các thuê bao trong câu hỏi. Khi tôi cố gắng thêm một ấn phẩm mới, tôi đã nhận được:

Thuật sĩ xuất bản mới gặp phải một hoặc nhiều lỗi trong khi truy xuất tên xuất bản.

Một ngoại lệ đã xảy ra trong khi thực hiện một câu lệnh hoặc lô Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

Tên đối tượng không hợp lệ 'dbo.syspublications'. (Máy chủ Microsoft SQL, Lỗi: 208)

Tôi quyết định thử xóa đăng ký bên trái (cuối cùng tôi đã quản lý) và vô hiệu hóa xuất bản và phân phối trên máy chủ, điều này cho tôi:

SQL Server không thể vô hiệu hóa xuất bản và phân phối trên 'someserver'.

Tên đối tượng không hợp lệ 'dbo.syssub mô tả'. Số lượng giao dịch sau khi EXECUTE chỉ ra rằng một câu lệnh GIAO DỊCH GIAO DỊCH hoặc ROLLBACK bị thiếu. Số đếm trước = 0, số hiện tại = 1. Số lượng giao dịch sau khi EXECUTE chỉ ra rằng một câu lệnh GIAO DỊCH hoặc ROLLBACK TRANSACTION bị thiếu. Số đếm trước = 0, số hiện tại = 1. Số lượng giao dịch sau khi EXECUTE chỉ ra rằng một câu lệnh GIAO DỊCH hoặc ROLLBACK TRANSACTION bị thiếu. Số đếm trước = 0, số hiện tại = 1. Số lượng giao dịch sau khi EXECUTE chỉ ra rằng một câu lệnh GIAO DỊCH hoặc ROLLBACK TRANSACTION bị thiếu. Số đếm trước = 0, số hiện tại = 1. Số lượng giao dịch sau khi EXECUTE chỉ ra rằng một câu lệnh GIAO DỊCH hoặc ROLLBACK TRANSACTION bị thiếu. Số trước = 0, số hiện tại = 1. Thay đổi bối cảnh cơ sở dữ liệu thành 'chính'. (Máy chủ Microsoft SQL, Lỗi: 208)

Có vẻ như một số thông tin không được phục hồi từ bản sao lưu cơ sở dữ liệu hệ thống (có thể distributioncơ sở dữ liệu có thể thiếu một cái gì đó).

Ngoài ra, tôi đã cố gắng làm theo câu trả lời được đưa ra trong việc không thể vô hiệu hóa xuất bản và phân phối . Nhưng không thành công. Tôi đã cố gắng tạo syspublicationscả trong masterdistribution, nhưng không có gì thay đổi.

Vì vậy, làm thế nào tôi có thể làm cho bản sao hoạt động trên máy chủ này?

Đã thử xuất bản một số cơ sở dữ liệu khác trên máy chủ và nó đã hoạt động. Vì vậy, vấn đề dường như được kết nối với cơ sở dữ liệu được công bố. Làm thế nào tôi có thể xóa nó để quản lý tạo một ấn phẩm mới trên nó?

System Tables thư mục con của cơ sở dữ liệu vấn đề bỏ lỡ các bảng sao chép, được tạo ra, khi cơ sở dữ liệu được xuất bản.

Trong màn hình sao chép, tôi có thể thấy các đăng ký cũ, trong khi chúng không có sẵn trong thư mục Sao chép .

Câu trả lời:


4

Cuối cùng, tôi chỉ đơn giản là làm những gì máy chủ muốn, tức là đã tạo tất cả các bảng "xuất bản" (* dbo.MSpeer _ ** và * dbo.sys **) trong cơ sở dữ liệu có vấn đề (một trong đó là nhà xuất bản), thông qua Bảng Script Như -> TẠO hộp thoại. Nhờ máy chủ này cho phép tôi vô hiệu hóa xuất bản và phân phối. Sau đó, tôi chỉ cần cấu hình lại nhân rộng.

Hy vọng, lần tới khi nó gặp sự cố (thực sự tôi hy vọng nó sẽ không xảy ra), chúng ta sẽ đủ khôn ngoan để sao lưu các bảng liên quan đến sao chép kỹ lưỡng.


Thông tin bổ sung của Zane , ban đầu để lại trong một bình luận:

Các bảng dbo.MSpeer_ * và dbo.sys * cũng có thể được tạo bằng cách định cấu hình nhà phân phối / nhà xuất bản trên một máy chủ khác với SQL Server được cài đặt. Điều này sẽ tạo các bảng này trong cơ sở dữ liệu mà bạn đã đặt để xuất bản. Xem -> Bảng -> Bảng hệ thống trong SSMS.

Sau đó, tạo các lược đồ cho tất cả các bảng này và sau đó tạo các bảng này trong cơ sở dữ liệu có vấn đề sẽ cho phép bạn vô hiệu hóa phân phối và xuất bản và cấu hình lại nhà phân phố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.