hadiabedzadeh / mssql-browser
A Laravel package for browsing Microsoft SQL Server databases with pagination, row editing/deleting, a read-only query editor, and SQL export.
v1.0.3
2026-08-19 12:46 UTC
Requires
- php: ^8.1
- ext-mbstring: *
- ext-pdo: *
- illuminate/database: ^10.0|^11.0|^12.0
- illuminate/http: ^10.0|^11.0|^12.0
- illuminate/routing: ^10.0|^11.0|^12.0
- illuminate/support: ^10.0|^11.0|^12.0
- illuminate/view: ^10.0|^11.0|^12.0
README
A Laravel package for browsing Microsoft SQL Server databases from a protected web interface.
Features
- Browse SQL Server tables with pagination (default: 200 rows per page)
- Descending ordering based on the primary key
- Edit and delete rows, including composite primary-key support
- Read-only SQL query editor for
SELECTandWITH - Export an entire table as executable
script.sqlwithINSERT INTOstatements - SQL Server
IDENTITY_INSERTsupport - Unicode, multiline text,
NULL, binary/varbinary, and large text handling - Query-string access guard, defaulting to
dev_as=1 - Laravel package auto-discovery
Package
Composer / Packagist package name:
hadiabedzadeh/mssql-browser
GitHub repository:
https://github.com/hadi-abedzadeh/mssql-browser
Installation from Packagist
After the package has been published on Packagist:
composer require hadiabedzadeh/mssql-browser php artisan optimize:clear
Laravel discovers the service provider automatically.
Local development with a path repository
Place the repository inside your Laravel project, for example:
packages/hadiabedzadeh/mssql-browser
Add this to the application's composer.json:
{
"repositories": [
{
"type": "path",
"url": "packages/hadiabedzadeh/mssql-browser",
"options": {
"symlink": true
}
}
]
}
Then run:
composer require hadiabedzadeh/mssql-browser:@dev php artisan optimize:clear
Browser URL
By default:
/database-browser?dev_as=1
Configuration
Optional .env values:
DATABASE_BROWSER_ENABLED=true DATABASE_BROWSER_ACCESS_KEY=dev_as DATABASE_BROWSER_ACCESS_VALUE=1 DATABASE_BROWSER_ROUTE_PREFIX=database-browser DATABASE_BROWSER_PER_PAGE=200 DATABASE_BROWSER_QUERY_PREVIEW_LIMIT=500 DATABASE_BROWSER_ALLOW_QUERY_EDITOR=true DATABASE_BROWSER_ALLOW_EXPORT=true
For non-local environments, use a strong secret value instead of DATABASE_BROWSER_ACCESS_VALUE=1 and restrict access at the network/application layer as well.
Publish config
php artisan vendor:publish --tag=database-browser-config
Publish views
php artisan vendor:publish --tag=database-browser-views