# FuturisticREPO Deployment Guide

**DBAOps Futuristic Enterprise™** – New product deployment.

## Prerequisites

- Windows Server 2016+
- SQL Server 2016+ (or Azure SQL Managed Instance)
- PowerShell 5.1+
- dbatools module
- CMS (Central Management Server) configured

## Installation Path

```
M:\RHOYLLE INNOVATION EMPIRE LLC\DBAOps Futuristic Enterprise
```

## Database Path

```
M:\ProdDB\FuturisticREPO\FuturisticREPO.mdf
M:\ProdDB\FuturisticREPO\FuturisticREPO_log.ldf
```

---

## Step 1: Create folder structure

```powershell
New-Item -Path "M:\ProdDB\FuturisticREPO" -ItemType Directory -Force
New-Item -Path "M:\RHOYLLE INNOVATION EMPIRE LLC\DBAOps Futuristic Enterprise" -ItemType Directory -Force
```

## Step 2: Deploy FuturisticREPO database

```powershell
$sqlInstance = "YOUR_SQL_SERVER"
$dbPath = "M:\ProdDB\FuturisticREPO"

# Update 001_CreateDatabase.sql if your path differs
Invoke-DbaQuery -SqlInstance $sqlInstance -File "Database\FuturisticREPO\001_CreateDatabase.sql"
Invoke-DbaQuery -SqlInstance $sqlInstance -File "Database\FuturisticREPO\002_CreateSchemas.sql"
Invoke-DbaQuery -SqlInstance $sqlInstance -File "Database\FuturisticREPO\003_CreateTables.sql"
Invoke-DbaQuery -SqlInstance $sqlInstance -File "Database\FuturisticREPO\004_SeedData.sql"
Invoke-DbaQuery -SqlInstance $sqlInstance -File "Database\FuturisticREPO\005_DiscoveryProcedures.sql"
```

## Step 3: Sync ServerInventory from CMS

Populate `config.ServerInventory` from your CMS. Example PowerShell:

```powershell
$cms = "YOUR_CMS_SERVER"
$central = "YOUR_CENTRAL_SERVER"
$servers = Get-DbaRegisteredServer -SqlInstance $cms -IncludeServer

foreach ($s in $servers) {
    $sql = @"
    MERGE INTO FuturisticREPO.config.ServerInventory AS t
    USING (SELECT '$($s.ServerName)' AS ServerName, '$($s.Name)' AS CMSGroupName) AS s
    ON t.ServerName = s.ServerName
    WHEN NOT MATCHED THEN INSERT (ServerName, CMSGroupName, IsActive, IsSQLServer, CMSLastSyncDate)
    VALUES (s.ServerName, s.CMSGroupName, 1, 1, SYSDATETIME())
    WHEN MATCHED THEN UPDATE SET CMSLastSyncDate = SYSDATETIME(), CMSGroupName = s.CMSGroupName;
"@
    Invoke-DbaQuery -SqlInstance $central -Database FuturisticREPO -Query $sql
}
```

## Step 4: Run discovery

```powershell
.\Application\PowerShell\Invoke-FuturisticDiscovery.ps1 -CentralServer "YOUR_CENTRAL_SERVER" -RepositoryDB "FuturisticREPO"
```

---

## License Tiers

| Tier | Servers | Trial | After Trial |
|------|---------|-------|-------------|
| Community | 1 | N/A | Free forever |
| Trial | Unlimited | 3 months | Deactivated |
| Healthcare | Per license | 3 months | Paid |
| Banking | Per license | 3 months | Paid |
| Law Enforcement | Per license | 3 months | Paid |
| DoD | Per license | 3 months | Paid |
| Enterprise | Unlimited | 3 months | Paid |

---

## Compliance Thresholds

All industries (Healthcare, Banking, Law Enforcement, DoD) have:

- TDE required
- Backup full: 24h warning, 48h critical
- Backup log: 1h warning, 4h critical
- SA disabled
- xp_cmdshell disabled
- Disk free: 25% warning, 15% critical

---

© 2026 RHOYLLE INNOVATION EMPIRE LLC™. All rights reserved.
