DataCrud.DBOps.Maintenance
1.0.1
This package has been consolidated into the unified core engine to simplify integration and improve performance. All maintenance logic—including Index Rebuild, Reorganize, Shrink, and Automated Backups—is now natively supported by the main package. Please migrate to DataCrud.DBOps.Core for all future updates.
dotnet add package DataCrud.DBOps.Maintenance --version 1.0.1
NuGet\Install-Package DataCrud.DBOps.Maintenance -Version 1.0.1
<PackageReference Include="DataCrud.DBOps.Maintenance" Version="1.0.1" />
<PackageVersion Include="DataCrud.DBOps.Maintenance" Version="1.0.1" />
<PackageReference Include="DataCrud.DBOps.Maintenance" />
paket add DataCrud.DBOps.Maintenance --version 1.0.1
#r "nuget: DataCrud.DBOps.Maintenance, 1.0.1"
#:package DataCrud.DBOps.Maintenance@1.0.1
#addin nuget:?package=DataCrud.DBOps.Maintenance&version=1.0.1
#tool nuget:?package=DataCrud.DBOps.Maintenance&version=1.0.1
DataCrud.DBOps
DataCrud.DBOps is a premium, high-performance database maintenance and job orchestration library for .NET. Designed to bridge the gap between modern cloud-native architectures and legacy enterprise systems, it provides a unified interface for database backups, index optimization, and real-time operational monitoring.
✨ Key Features
- ⚡ Intelligent Maintenance: Automated database shrinking and sophisticated index management (Reorganize/Rebuild) to ensure peak performance.
- 🛡️ Resilient Backups: Automated full-database backup workflows with high-ratio compression and integrity verification.
- ☁️ Multi-Cloud Sync: Native, high-performance integration with AWS S3 and Azure Blob Storage for off-site redundancy.
- 📊 Embedded Dashboard: A stunning, lightweight operational dashboard built with HTMX and Alpine.js, providing real-time job control and log visibility.
- 📝 Centralized Logging: Robust
IJobStoragearchitecture supporting SQL Server and LiteDB, featuring parent/child log relationships for granular auditing. - 🚀 Cross-Platform Heritage: First-class support for ASP.NET Core (DI-friendly) and Legacy .NET Framework (OWIN/Console).
🏗️ Architecture: Centralized History
Unlike traditional maintenance scripts, DBOps utilizes a centralized orchestration engine. All database providers report to a unified IJobStorage backend, ensuring that your maintenance history is consistent across all servers.
- Parent Logs: Summary of job type, execution status, and duration.
- Child Logs: Detailed execution traces, warnings, and error stack traces for every step of the process.
🛠 Supported Ecosystem
💻 Getting Started
1. Modern .NET (ASP.NET Core)
Install the core and your preferred provider via NuGet:
dotnet add package DataCrud.DBOps.AspNetCore
dotnet add package DataCrud.DBOps.SqlServer
Configure with Dependency Injection:
builder.Services.AddDBOps(options =>
{
// Configure Storage (Centralized History)
options.Storage = new SqlServerJobStorage("YourHistoryDbConnectionString");
// Multi-Cloud Sync
options.PushToAws = true;
options.AwsBucketName = "bucket-name";
options.AwsRegion = "us-east-1";
});
2. .NET Framework / Legacy (OWIN)
For legacy applications, install the AspNet integration:
Install-Package DataCrud.DBOps.AspNet
Configure in your Startup.cs:
public void Configuration(IAppBuilder app)
{
app.UseDBOps(options =>
{
options.DashboardPath = "/dbops";
options.Storage = new LiteDbJobStorage("jobs_dbops.db");
// Register your database providers
options.Providers.Add(new SqlServerProvider("YourConnectionString", "Data Server 01"));
});
}
2. Embedded Dashboard
Access the premium dashboard by mapping the middleware in your startup:
app.UseDatabaseOpsDashboard(options =>
{
options.Path = "/dbops";
options.Security.RequireAdminRole = true;
});
🔒 Security & Authentication
DBOps is secure by default. You can configure authentication for the dashboard using several methods:
1. Basic Authentication
The simplest way to protect your dashboard is using the built-in Basic Auth.
options.Security.Enabled = true; // Enabled by default
options.Security.Username = "admin";
options.Security.Password = "strong-password-here";
2. Role-Based Authorization
If your application uses ASP.NET Identity or OWIN Security, you can restrict access to specific roles:
options.Security.AllowedRoles = new[] { "Administrator", "DBManager" };
3. Custom Authorization Filters
For advanced security requirements (IP filtering, custom headers, etc.), implement IDBOpsAuthorizationFilter:
options.Security.AuthorizationFilters.Add(new MyCustomAuthFilter());
📜 Professional Services & Support
DataCrud.DBOps is maintained for enterprise-grade stability. For custom provider development or specialized cloud integrations, please reach out to the DataCrud team.
📄 License
This project is licensed under the MIT License. See the LICENSE file for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Framework | net472 is compatible. net48 was computed. net481 was computed. |
-
.NETFramework 4.7.2
- Azure.Identity (>= 1.11.4)
- Dapper (>= 2.1.35)
- DataCrud.DBOps.Shared (>= 1.0.1)
- Microsoft.Identity.Client (>= 4.61.3)
- Npgsql (>= 8.0.3)
-
net9.0
- Azure.Identity (>= 1.11.4)
- Dapper (>= 2.1.35)
- DataCrud.DBOps.Shared (>= 1.0.1)
- Microsoft.Identity.Client (>= 4.61.3)
- Npgsql (>= 8.0.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.