Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Khôi phục cơ sở dữ liệu SQL Server Master

GIỚI THIỆU

Cơ sở dữ liệu chính chứa các bản ghi về cấu trúc / cấu hình cho cả phiên bản hiện tại và tất cả các cơ sở dữ liệu khác. Khi bạn chạy sp_configure , bạn đang ghi dữ liệu vào cơ sở dữ liệu chính. Nó cũng chứa hầu hết các dạng xem quản lý động cần thiết để giám sát phiên bản.

Tầm quan trọng của cơ sở dữ liệu tổng thể là rất quan trọng. Đầu tiên, nó có thông tin cần thiết để mở tất cả các cơ sở dữ liệu khác và phải được mở trước. Sau đó, nó liên quan đến tất cả các nguyên tắc cấp phiên bản cho phiên bản hiện tại.

Điều quan trọng là phải sao lưu cơ sở dữ liệu chính hàng ngày. Điều quan trọng không kém là biết cách khôi phục cơ sở dữ liệu chính cho phiên bản. Các trường hợp thường gặp nhất là sự cố cơ sở dữ liệu hoặc sự cần thiết phải khôi phục cơ sở dữ liệu chính sang một phiên bản khác khi không còn sử dụng phiên bản nguồn nữa. Trong bài viết này, chúng ta sẽ xem xét trường hợp cụ thể của việc di chuyển cơ sở dữ liệu chính sang một phiên bản khác.

KIỂM TRA TÌNH TRẠNG CỦA CÁC DỊCH VỤ ỨNG DỤNG

Việc khôi phục cơ sở dữ liệu chính sang một phiên bản khác sẽ liên quan đến việc khởi động phiên bản đó ở chế độ người dùng duy nhất. Do đó, điều cần thiết là phải đảm bảo rằng phiên hoạt động là phiên duy nhất kiểm soát phiên bản.

Vì vậy, hãy dừng tất cả các dịch vụ ứng dụng truy cập phiên bản, đặc biệt nếu các ứng dụng đó có quyền truy cập đặc quyền. Sự cố có thể xảy ra nếu bạn khởi động phiên bản ở chế độ một người dùng trong khi ứng dụng đã thiết lập phiên. Trong trường hợp này, bạn sẽ không thể tiếp tục phiên tương tác từ SQL Server Management Studio.

DỪNG DỊCH VỤ MÁY CHỦ SQL

Dừng tất cả các dịch vụ SQL Server bằng Trình quản lý cấu hình SQL Server:bấm chuột phải vào từng dịch vụ và chọn Dừng từ menu ngữ cảnh (xem hình 2).

BẮT ĐẦU MÁY CHỦ SQL Ở CHẾ ĐỘ NGƯỜI DÙNG DUY NHẤT

Để khôi phục cơ sở dữ liệu chính, bạn cần phiên bản SQL Server ở chế độ một người dùng. Thực hiện các bước sau:

  1. Mở CMD Prompt
  2. Điều hướng đến C:\ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ Binn
  3. Sự cố sqlservr –m HOẶC khởi động NET khởi động MSSQLServer / c / m / T3604

HOẶC

Lưu ý rằng bước 2 đề cập đến Binn vị trí thư mục. Nó có thể khác trong cài đặt của bạn.

Bạn có thể tìm thấy thư mục cần thiết bằng cách kiểm tra tab Dịch vụ của thuộc tính dịch vụ SQL Server trong Trình quản lý cấu hình SQL Server (Xem Hình 4):

KHÔI PHỤC MA TRẬN

Khi bạn khôi phục bản gốc từ bản sao này sang bản sao khác, bạn sẽ nhận được các bản gốc mới và giá trị mới trong danh mục hệ thống chứa các giá trị như tên bản sao và thậm chí cả vị trí tempdb.

Trước khi khôi phục trang cái, hãy đảm bảo rằng các đường dẫn của máy chủ đích có sẵn cho các tệp TempDB như được xác định trong máy chủ nguồn. Nếu không, phiên bản mới sẽ không khởi động thành công sau khi quá trình khôi phục hoàn tất.

  1. Mở SQL Server Management Studio
  2. Chạy mã trong Liệt kê 1 trong SQL Server Management Studio
-- Listing 1: Restore Master Database
restore database master from disk ='<full_path_of_backup>' with replace;

NB: Phiên bản sẽ ngừng hoạt động sau khi quá trình khôi phục hoàn tất.

THAY ĐỔI TÀI KHOẢN DỊCH VỤ

Để khởi động SQL Server sau khi quá trình khôi phục hoàn tất, hãy làm như sau:

  1. Thay đổi Tài khoản Dịch vụ Máy chủ SQL thành tài khoản hiện đã đăng nhập.
  2. Mở Start> All Programs> Microsoft SQL Server 2005> Configuration Tools> SQL Server Configuration Manager
  3. Nhấp chuột phải vào từng dịch vụ và chọn Thuộc tính
  4. Trong Đăng nhập , nhập Tên tài khoản mong muốn và mật khẩu tương ứng.

TÊN MÁY CHỦ

Cơ sở dữ liệu chính chứa tên của phiên bản nơi nó được đặt. Vì bản sao lưu được khôi phục trong trường hợp này là từ một phiên bản khác, bạn cần cập nhật tên máy chủ bằng cách sử dụng các thủ tục được lưu trữ, như được hiển thị trong Liệt kê 2.

-- Listing 2: Change the Instance Name for a SQL Server Instance
-- Check the current server name

select @@SERVERNAME

-- Change the server name as seen by the database

sp_dropserver 'EUK-POSTSVR-01'--Present Server name goes here
go 
sp_addserver 'EUK-POSTBKP-01','local'--New Server name goes here 
go

Khởi động lại SQL Server từ Trình quản lý cấu hình SQL Server để thay đổi tên có hiệu lực.

ĐĂNG NHẬP DỊCH VỤ

Cơ sở dữ liệu chính cũng ghi lại tất cả các thông tin đăng nhập được liên kết với phiên bản nguồn. Trong trường hợp mới, bạn cần phải dọn dẹp các thông tin đăng nhập không cần thiết. Sau đó, bạn có thể thêm Nhóm máy chủ SQL mặc định cục bộ vào phiên bản hiện tại.

-- Listing 3: Remove Unnecessary Logins
drop login [EUK-POSTSVR-01\SQLServer2005MSSQLUser$EUK-POSTSVR-01$MSSQLSERVER]
drop login [EUK-POSTSVR-01\SQLServer2005MSFTEUser$EUK-POSTSVR-01$MSSQLSERVER]
drop login [EUK-POSTSVR-01\SQLServer2005SQLAgentUser$EUK-POSTSVR-01$MSSQLSERVER]

-- Listing 4: Add local default SQL Server Groups
create login [EUK-POSTBKP-01\SQLServer2005MSSQLUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;
create login [EUK-POSTBKP-01\SQLServer2005SQLAgentUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;
create login [EUK-POSTBKP-01\SQLServer2005MSFTEUser$EUK-POSTBKP-02$MSSQLSERVER] from windows;

NB: Đảm bảo rằng máy chủ và tài khoản dịch vụ đại lý thuộc các nhóm tương ứng của chúng trên cấp hệ điều hành và các nhóm hệ điều hành này có các quyền cần thiết. Bảng 1 cho thấy các quyền đối với tài khoản Dịch vụ SQL Server.

S / No Đặc quyền Bắt buộc bởi
1. Đăng nhập như một dịch vụ Tài khoản dịch vụ SQL Server Tài khoản dịch vụ tích hợp tài khoản đại lý SQL Tài khoản dịch vụ
2. Hoạt động như một phần của hệ điều hành Tài khoản dịch vụ SQL Server Tài khoản dịch vụ đại lý SQL
3 Đăng nhập như một công việc hàng loạt Tài khoản dịch vụ SQL Server Tài khoản dịch vụ đại lý SQL
4. Thay thế mã thông báo cấp quy trình Tài khoản dịch vụ SQL Server Tài khoản dịch vụ đại lý SQL
5. Bỏ qua kiểm tra ngang Tài khoản dịch vụ SQL Server Tài khoản dịch vụ tích hợp tài khoản đại lý SQL Tài khoản dịch vụ
6. Điều chỉnh hạn ngạch bộ nhớ cho một quy trình Tài khoản dịch vụ SQL Server Tài khoản dịch vụ đại lý SQL
7. Tạo các đối tượng toàn cục Tài khoản Dịch vụ Tích hợp
8. Khóa các trang trong Bộ nhớ (AWE) Tài khoản Dịch vụ Máy chủ SQL

Sau khi công việc dọn phòng hoàn tất ở cấp cơ sở dữ liệu, hãy hoàn nguyên về tài khoản dịch vụ thông thường. Khởi động lại phiên bản một lần nữa từ Trình quản lý cấu hình máy chủ SQL.

Tại thời điểm này, bạn có thể khởi động các dịch vụ ứng dụng.

KẾT LUẬN

Trong quá trình thực hiện kịch bản trên, lỗi có thể xảy ra. Dưới đây, bạn sẽ thấy thông tin về những lỗi này.

Nếu khắc phục sự cố, bạn có thể sử dụng các công cụ như SysInternal’s ProcMon. Chúng cô lập các vấn đề về quyền đối với tệp khi khởi động SQL Server (Xem Hình 7).

S / N Lỗi Nguyên nhân / Giải pháp
1. SQLServerAgent không thể khởi động (lý do:Không thể kết nối với máy chủ ‘(cục bộ)’; SQLServerAgent không thể khởi động). Tạo thông tin đăng nhập cho tất cả các tài khoản dịch vụ cục bộ
2. Nhà cung cấp kết nối cục bộ máy chủ không nghe được trên [\\. \ pipe \ SQLLocal \ MSSQLSERVER]. Lỗi:Khởi tạo TDSSNIClient 0x5 không thành công với lỗi 0x5, mã trạng thái 0x40. Khởi tạo TDSSNIClient không thành công với lỗi 0x5, mã trạng thái 0x1. SQL Server không thể tạo chuỗi FRunCM. Kiểm tra nhật ký lỗi SQL Server và nhật ký sự kiện Windows để biết thông tin về các sự cố liên quan có thể xảy ra. Không thể khởi động thư viện mạng do lỗi nội bộ trong thư viện mạng. Để xác định nguyên nhân, hãy xem lại các lỗi ngay trước lỗi này trong nhật ký lỗi. SQL Server đã được khởi động trước đó bằng một tài khoản dịch vụ khác và đã bị chấm dứt hiệu lực. Nó xảy ra trong quá trình khôi phục cơ sở dữ liệu chính. Để sửa lỗi này, hãy khởi động phiên bản bằng tài khoản dịch vụ được sử dụng ở bước 3 và sau đó dừng dịch vụ một cách duyên dáng. Sau đó, bạn có thể bắt đầu với tài khoản dịch vụ thông thường.
3. Không thể khởi động SQLServerAgent (lý do:Lỗi khi tạo phiên mới). Cấp quyền thích hợp cho Tài khoản tác nhân SQL

TÀI LIỆU THAM KHẢO

Cơ sở dữ liệu chính


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server Tính khả dụng cao:Cài đặt phiên bản cụm chuyển đổi dự phòng SQL Server Phần 2

  2. Chuyển đổi ‘datetime’ thành ‘datetime2’ trong SQL Server (Ví dụ T-SQL)

  3. Tôi có thực sự cần sử dụng SET XACT_ABORT ON không?

  4. Lỗi SQL Server trên lệnh cập nhật - Đã xảy ra lỗi nghiêm trọng trên lệnh hiện tại

  5. Một số tin tức tuyệt vời cho khách hàng Standard Edition trong SQL Server 2014