tài liệu thiết lập hệ quản trị cơ sở dữ liệu sql server

13 583 0
tài liệu thiết lập hệ quản trị cơ sở dữ liệu sql server

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thiết lập hệ quản trị sở liệu SQL Server Giải pháp Database Mirroring giúp xây dựng hệ quản trị sở liệu có độ sẵn sàng cao SQL Server đơn giản phù hợp với sở liệu loại vừa trở xuống Yêu cầu hệ quản trị sở liệu có độ sẵn sàng cao ngày trở nên cấp thiết, đơi yếu tố sống cịn với tổ chức, công ty Tuy nhiên, để đạt mức độ sẵn sàng cao (gần hoạt động) điều khơng đơn giản, ln có nhiều yếu tố làm ảnh hưởng đến hoạt động hệ thống: cố phần cứng, hạ tầng mạng, lỗi hệ điều hành, lỗi phần mềm ứng dụng, virus… Bài viết giới thiệu giải pháp giúp đạt độ sẵn sàng cao (HA – High Availability) hệ quản trị sở liệu dùng phổ biến nay: SQL Server Các giải pháp HA SQL Server Failover cluster Giải pháp sử dụng ổ cứng dùng chung – thường SAN để chứa sở liệu Có nhiều “instance” SQL Server cài đặt, instance node, thời điểm có node quyền điều khiển sở liệu Khi node gặp trục trặc, node khác thay quản lý sở liệu Log shipping Cơ cấu bổ sung sở liệu làm mirror (bản sao) Khi có thay đổi cập nhật từ sở liệu chính, file log ghi lại thay đổi gửi sang cho instance máy chủ mirror Bằng cách này, người ta trì cập nhật sở liệu Trong trường hợp xảy cố, sở liệu chuyển thành sở liệu thời gian ngắn Replication Nếu Failover cluster Log Shipping giải pháp đảm bảo high-availability cấp độ sở liệu Replication đảm bảo high-availability cấp độ đối tượng sở liệu table, view… Các đối tượng copy sang instance thứ SQL Server để lưu trữ Data Mirroring SQL Server Database Mirroring (DM) giải pháp xây dựng sở liệu có tính sẵn sàng cao SQL Server DM khắc phục nhược điểm giải pháp trước như: • So với Failover Cluster, DM không yêu cầu phần cứng đặc biệt SAN, giảm chi phí cấu hình • So với Log Shipping, DM tự động chuyển sang máy mirror xảy lỗi mà không cần người quản trị phải tác động Log shipping u cầu phải cấu hình thủ cơng T-SQL Chính vậy, DM gọi “hot standby”, thời gian gián đoạn (downtime) tính giây, cịn Log-shipping gọi “warm standby”, thời gian gián đoạn tính phút • So với Replication, DM vượt trội bảo vệ tồn sở liệu, cịn Replication bảo vệ phần sở liệu, ví dụ table master Tuy nhiên, DM có phiên Enterprise/Developer SQL Server 2005 SP1/2008 Cơ cấu DM SQL Server DM SQL Server yêu cầu instance: instance (principal role) quản lý sở liệu, instance phụ (mirror) đảm bảo việc lưu sở liệu instance giám sát (witness) kết nối với instance phụ để giám sát đảm bảo tính sẵn sàng sở liệu Khi có mặt witness: Máy chủ witness kết nối với máy chủ máy chủ mirror Lúc toàn hệ thống trở thành quorum mà số thành phần có quyền định Trong trường hợp máy chủ gặp cố, máy chủ witness tự động chuyển máy chủ mirror thành máy chủ Nếu sau đó, máy chủ hoạt động trở lại, máy chủ đảm nhận vai trị máy chủ mirror (2 máy chủ đổi vai trò cho nhau) có can thiệp nhà quản trị (sơ đồ 1) Khi khơng có máy chủ witness: Q trình chuyển đổi tự động khơng thực mà cần có tác động nhà quản trị Trong SQL Server có khái niệm “endPoint” hiểu “điểm kết nối”, cho phép instance SQL Server liên lạc với thông qua giao thức TCP (sơ đồ 2) Mỗi endpoint xác định địa cổng tương ứng Về mặt lý thuyết, địa phải địa tên miền đầy đủ, thực tế dùng cách sau: -Xác định thơng qua tên server Ví dụ: TCP://PRINCIPAL:7024 -Xác định thơng qua domain name Ví dụ: TCP://PRINCIPAL.DELTAX.COM:7024 -Xác định thơng qua Ipv4 Ví dụ: TCP://192.168.1.3:7024 -Xác định thơng qua Ipv6 Cần ý: Trong trường hợp Instance SQL Server chạy máy cổng TCP phải khác Trao đổi thông tin máy chủ máy chủ phụ Chế độ tốc độ cao (High-Performance): Chế độ High-Performance tương ứng với việc tạo khơng đồng Máy chủ gửi cập nhật sang máy chủ mirror tiếp tục thực thay đổi khác mà không cần máy chủ mirror báo cập nhật thành công Nhờ việc chờ đợi máy chủ mirror cập nhật thay đổi, nên máy chủ có tốc độ truy xuất nhanh tránh tải không cần thiết Quy trình minh họa lược đồ sau: Đối với chế độ tốc độ cao, máy chủ mirror cập nhật chậm so với máy chủ chính, xảy mát liệu trường hợp máy chủ gián đoạn hoạt động mà chưa kịp gửi liệu sang máy chủ mirror Tuy nhiên, phần sở liệu khác biệt tương đối nhỏ chấp nhận Chế độ tốc độ cao – High performance mode không bắt buộc phải có máy chủ Witness Chế độ an tồn cao (High-Safety): Khác với chế độ tốc độ cao, chế độ an toàn cao sử dụng chế đồng (Synchronous) Khi ứng dụng người dùng cập nhật, cập nhật gần đồng thời máy chủ máy chủ mirror Điều đảm bảo máy chủ xảy cố, máy chủ mirror có đầy đủ tồn vẹn sở liệu, đảm bảo an toàn liệu cao Chế độ an toàn cao yêu cầu máy chủ witness để đảm bảo tính thay nóng – hot standby Cấu hình DM: Cấu hình DM SQL Server gồm bước bản: - Sao lưu (backup) toàn sở liệu máy chủ sau khơi phục (restore) máy chủ mirror - Tạo endpoint tương ứng để máy chủ chính, mirror witness làm việc với - Tạo phiên làm việc (Database Mirroring Session) Việc cấu hình DM thực giao diện SQL Server Management Studio (SSMS), cấu hình T-SQL: Cấu hình giao diện SQL Server Management Studio đơn giản, sau restore liệu thành công máy chủ mirror, cần nhấn chuột phải vào sở liệu chọn “Mirroring”, sau thực theo bước Kết thu việc khởi tạo session DM Việc cấu hình SSMS cho phép loại bỏ gần hết thao tác thực T-SQL, nhiên muốn bạn dùng T-SQL để đạt độ mềm dẻo cao Cấu hình T-SQL dùng cách để endpoint xác thực lẫn nhau: Xác thực login xác thực certificate Đoạn mã T-SQL hoàn thiện để cấu hình DM dài nên chúng tơi giới thiệu số bước tiêu biểu Cấu hình Login Giả sử dùng tài khoản Windows để đăng nhập vào SQL Server, trường hợp dùng tài khoản SQL Server thực hoàn toàn tương tự CREATE LOGIN [PRICIPAL-SRVAdministrator] FROM WINDOWS GO Tạo endpoint: CREATE ENDPOINT Partner STATE = STARTED AS TCP ( LISTENER_PORT = 5022 ) FOR DATABASE_MIRRORING ( AUTHENTICATION = WINDOWS NEGOTIATE, ENCRYPTION = SUPPORTED, ROLE=ALL) GO Chú ý việc tạo endpoint với ROLE=ALL cần thực máy chủ principal mirror, máy chủ witness, bạn thay ROLE=WITNESS Cấu hình Certificate: Thay sử dụng tài khoản login endpoint nhận diện nhau, dùng giải pháp thay tạo chứng thực – certificate - Tạo mã hóa master key (bắt buộc để xuất certificate): create master key encryption by password = ‘abc123!!’; - Tạo cerfiticate: create certificate PRINCIPAL_cert with subject = ‘PRINCIPAL certificate’, start_date = ’2007/11/01′, expiry_date = ’2020/11/01′; - Tạo endpoint tương ứng với certificate: Create endpoint endpoint_mirroring state = started as tcp(listener_port = 7024, listener_ip = all) for database_mirroring (authentication = certificate PRINCIPAL_cert, encryption = disabled, role = all); - Xuất certificate file riêng: Backup certificate PRINCIPAL_cert to file = ‘c:PRINCIPAL_cert.cer’; Thực tương tự máy chủ mirror witness, ý thay đổi role = witness cần thiết Sau tạo Endpoint xuất certificate instance, quay trở lại máy chủ principal: - Tạo login cho máy chủ mirror: create login MIRROR_login with PASSWORD = ‘abc123!!’; GO - Tạo user tương ứng với Login create user MIRROR_user from login MIRROR_login; GO - Tạo certificate từ file cer máy chủ mirror: Create certificate MIRROR_cert Authorization MIRROR_user From file = ‘c:MIRROR_cert.cer’; GO - Cấp quyền kết nối đến endpoint cho login máy chủ mirror: Grant CONNECT ON Endpoint::endpoint_mirroring to [MIRROR_login]; GO Thực công việc tương tự certificate máy chủ witness, máy chủ mirror witness để máy nhận diện xác thực lẫn Sau tạo endpoint, bạn kiểm tra chúng truy vấn: SELECT name, state_desc, role_desc FROM sys.database_mirroring_endpoint Công việc cuối khởi tạo session cho DM: - Trên máy chủ principal: ALTER DATABASE AdventureWorks SET PARTNER = ‘TCP://mirror-srv.deltax.com:5022′ GO - Trên máy chủ mirror: ALTER DATABASE AdventureWorks SET PARTNER = ‘TCP://pricipal-srv.deltax.com:5022′ GO - Trên máy chủ principal, thiết lập máy chủ witness: ALTER DATABASE AdventureWorks SET WITNESS = ‘TCP://witness-srv.deltax.com:5022′ GO Sau hệ thống vào hoạt động, giám sát cơng cụ Database Mirroring Monitor: Lập trình middleware: Việc sử dụng DM nói gần suốt việc kết nối sở liệu từ phía middleware Nếu bạn sử dụng thư viện ADO.NET, cần sửa đổi ConnectionString để thêm trường “failover partner” đến máy chủ mirror, ví dụ: Data Source=pricipal.database.com;Failover Partner=mirror.database.com;Initial Catalog=AdventureWorks; Integrated Security=True; Ngoài ra, ADO.NET tạo “connection pool” cho phép lưu đệm (cache) connection khởi tạo, nên trường hợp xảy cố dẫn đến phải chuyển đổi máy chủ, bạn cần chủ động thực thêm thao tác xóa nhớ cache Lời kết DM SQL Server đơn giản, dễ cấu hình, sử dụng theo dõi, nhiên khả tương đối hạn chế Nó phù hợp với sở liệu loại vừa trở xuống, với sở liệu lớn có u cầu nghiêm ngặt tính liên tục cách làm đề xuất chưa đáp ứng mà cần giải pháp tổng thể hệ điều hành, hệ thống phần cứng, mạng ... trội bảo vệ tồn sở liệu, cịn Replication bảo vệ phần sở liệu, ví dụ table master Tuy nhiên, DM có phiên Enterprise/Developer SQL Server 2005 SP1/2008 Cơ cấu DM SQL Server DM SQL Server yêu cầu... high-availability cấp độ sở liệu Replication đảm bảo high-availability cấp độ đối tượng sở liệu table, view… Các đối tượng copy sang instance thứ SQL Server để lưu trữ Data Mirroring SQL Server Database... diện SQL Server Management Studio (SSMS), cấu hình T -SQL: Cấu hình giao diện SQL Server Management Studio đơn giản, sau restore liệu thành công máy chủ mirror, cần nhấn chuột phải vào sở liệu

Ngày đăng: 06/07/2014, 05:03

Từ khóa liên quan

Mục lục

  • Thiết lập hệ quản trị cơ sở dữ liệu SQL Server

    • Các giải pháp HA trên SQL Server

      • Failover cluster

      • Log shipping

      • Replication

      • Data Mirroring trong SQL Server

        • 1. Cơ cấu của DM trong SQL Server

        • 2. Trao đổi thông tin giữa máy chủ chính và máy chủ phụ

        • 3. Cấu hình DM:

        • 4. Lập trình middleware:

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan