LuckyLindy - Tôi khuyến khích bạn dừng lại một chút và xác minh rằng bạn không cần Tác nhân SQL. Bạn đã viết:
Chúng tôi sắp triển khai một ứng dụng giao dịch nội bộ / web kép trong đó mỗi khách hàng có cơ sở dữ liệu riêng. Mỗi cơ sở dữ liệu rất nhỏ - mỗi cơ sở dưới 50 MB, vì vậy chúng tôi đã tự hỏi liệu có nên sử dụng SQL Express 2008 thay vì SQL Server đầy đủ hay không.
Kế hoạch của bạn để sao lưu là gì? Bạn không phải sử dụng Tác nhân SQL nhưng điều đó chắc chắn giúp cuộc sống của DBA dễ dàng hơn. Bạn có thể viết T-SQL / SMO / PowerShell / bất kỳ tập lệnh nào thực hiện sao lưu và sau đó thực thi thông qua sqlcmd hoặc PowerShell bằng cách sử dụng Tác vụ theo lịch trình.
Kế hoạch bảo trì cơ sở dữ liệu của bạn là gì? Theo thời gian, những cơ sở dữ liệu đó sẽ cần được phân mảnh và kiểm tra tính nhất quán. Phiên bản tiêu chuẩn có tất cả các loại quà tặng để làm điều này dễ dàng trong khi, trong Express, bạn phải làm việc (một lần nữa với các tác vụ theo kịch bản và theo lịch trình).
Làm thế nào bạn sẽ được thông báo về các vấn đề trên máy chủ? Đại lý giúp Cảnh báo thông báo cho bạn khi nhật ký đầy, đĩa đang đầy, v.v.
Đây là các nhiệm vụ loại DBA của SQL Server quan trọng. Đó là một điều để chạy Express cho một ứng dụng nội bộ nhưng một khi bạn bắt đầu nói với chúng tôi rằng bạn đang lưu trữ những thứ này cho khách hàng, tôi cảm thấy lo lắng :)
Phần 2 của phần này là hỏi bạn có bao nhiêu khách hàng bạn dự định hỗ trợ về việc này - cả khi ra mắt và sau một năm? Nếu bạn nói, "100 khách hàng", thì 100 cơ sở dữ liệu 50 MB sẽ không đủ trên Express - bạn chỉ không có đủ bộ nhớ. Heck - tùy thuộc vào số lượng delta bạn có, bạn có thể đạt tối đa 15 DB, tôi không biết.
Chúng tôi sẽ không bao giờ có nhiều hơn ~ 200 người dùng đồng thời và hầu hết các hoạt động sẽ có nhiều giao dịch hơn (dường như ưu tiên nhiều đĩa tốc độ cao hơn RAM / CPU nặng, phải không?)
Các hoạt động giao dịch như INSERT vẫn được ghi vào bộ nhớ, vì vậy đừng hy vọng rằng bạn cần ít hỗ trợ bộ nhớ hơn. Trên thực tế, tùy thuộc vào số lượng INSERT bạn làm, bạn có thể có nhu cầu bộ nhớ lớn hơn hầu hết với số lượng người dùng đó. Nếu bạn đang tải nhiều dữ liệu mà mọi người sẽ không thực sự sử dụng thì nó vẫn chiếm bộ nhớ. Bạn có thể gặp phải các vấn đề tranh chấp giữa "dữ liệu mà người dùng đang truy vấn thường xuyên" và "dữ liệu mà người dùng đang tải lên mà không ai sẽ truy vấn trong một thời gian". SQL bảo vệ chúng tôi bằng cách lưu giữ dữ liệu mọi người truy vấn thường xuyên hơn trong bộ nhớ lâu hơn nhưng bạn vẫn sẽ có sự tranh chấp.
Tại thời điểm này, tôi đang lan man lol. Và 200 người dùng đồng thời không kết hợp với tôi cho Express. Giả sử 64k là yêu cầu bộ nhớ kết nối trung bình, ứng dụng của bạn sẽ tạo ra bao nhiêu kết nối? Bạn sẽ sử dụng kết nối tổng hợp?
Nói chung, cảm giác ruột thịt của tôi khi đọc mô tả của bạn nói, "Không - Phiên bản Express không đủ mạnh." Và tôi ghét Phiên bản nhóm làm việc - nghĩ rằng đó là một thỏa thuận xấu - vì vậy Standard có vẻ đúng với tôi.