Giter Site home page Giter Site logo

mssql_server_tiny's Introduction

mssql_server_tiny

what

  • a slightly modified Microsoft SQL Server docker image
    • modified to allow execution on a machine with less than 2 GiB of physical memory

why

  • Microsoft's sqlservr, at startup, looks to see how much physical memory its host has
  • if the host has less than 2 GiB sqlservr just quits with the message:
    • "sqlservr: This program requires a machine with at least 2000 megabytes of memory."
  • it turns out that sqlservr does not try to allocate that much memory and fail but rather sqlservr enforces that as a policy (perhaps to cut down on performance related issues due to page faulting)
  • but i think if someone wants to use swap space instead of physical memory that is up to that person

how

  • using LD_PRELOAD to redefine the system call "sysinfo"
  • when sqlservr invokes the "sysinfo" system call (to see how much physical memory the host has) we instead lie to sqlservr with our redefined sysinfo function

how to use

  • pull from docker hub's build of this repository:
    • docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=yourStrong(!)Password' -p 1433:1433 -d justin2004/mssql_server_tiny
  • or build this image yourself

  • https://hub.docker.com/_/microsoft-mssql-server
  • https://github.com/Microsoft/mssql-docker

mssql_server_tiny's People

Contributors

justin2004 avatar skand888 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mssql_server_tiny's Issues

Unable to make it work

I am on OS X, and I am trying to use this. Actually, I am getting the following error:

2019-06-01 16:57:33.33 spid22s     The Database Mirroring endpoint is in disabled or stopped state.
2019-06-01 16:57:33.35 spid6s      Recovery is complete. This is an informational message only. No user action is required.
2019-06-01 16:57:33.35 spid22s     Service Broker manager has started.
sqlservr: This program requires a machine with at least 2000 megabytes of memory.

I have allocated 1GB to my Docker machine.

Is this still supposed to work?

Will it work with SQL Server 2019?

Hello, just a quick question, did you try or have you planned to do the same with SQl Server 2019?? It would be great if it works anyway!

Thanks!

Cannot Persist Data to Host Directory of Docker Volume

Hello - having trouble persisting data with this nifty build as a linux container on Windows Server Host.
I've tried mapping to a windows directory, as well as a volume created with Docker. (e.g.):

docker run --memory=2G -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=*********" -p 1433:1433 -v F:\SQLROOT:/var/opt/mssql --name sqldb -d justin2004/mssql_server_tiny

The container crashes out with the following error.

This program has encountered a fatal error and cannot continue running at Fri Aug 30 13:44:49 2019
The following diagnostic information is available:

   Reason: 0x00000006
  Message: Kernel bug check
  Address: 0x6be47230

Parameters: 0x10861f670
Stack Trace:
000000006bf32f12
000000006be4728b
000000006be34126
000000006be42cb2
000000006bf31240
000000006bf2fbc9
000000006bf733f1
Process: 8 - sqlservr
Thread: 12 (application thread 0x4)
Instance Id: b3663cb9-6939-4fd8-841e-6e1c083cb385
Crash Id: 90768f61-711d-4e46-b449-abc9d30e9b18
Build stamp: 6a405dcedd411942c879f001e943cd731ae3fa28b55f3d29fc3c2c88dcc1f7d5
Distribution: Ubuntu 16.04.6 LTS
Processors: 2
Total Memory: 1019420672 bytes
Timestamp: Fri Aug 30 13:44:49 2019

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.