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.

Maintainers

Package info

github.com/Hadi-Abedzadeh/mssql-browser

Homepage

Issues

pkg:composer/hadiabedzadeh/mssql-browser

Transparency log

Statistics

Installs: 9

Dependents: 0

Suggesters: 0

Stars: 0

v1.0.3 2026-08-19 12:46 UTC

This package is auto-updated.

Last update: 2026-08-19 12:44:23 UTC


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 SELECT and WITH
  • Export an entire table as executable script.sql with INSERT INTO statements
  • SQL Server IDENTITY_INSERT support
  • 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