Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

We want to install multiple instances of SQL Server on a single Windows server. We cannot use VMs because the server is bare metal Windows 2008 R2.

For security purposes we need to ensure that the two instances share nothing, including management, Windows services, accounts, etc. So I guess the question is:

When installing more than one "instance" of SQL Server on a Windows server, what is shared?

share|improve this question
    
Emm... Why would the server being bare metal Windows 2008 R2 prevent you from using VMs? It has HyperV. –  sharptooth Dec 11 '12 at 9:20

3 Answers 3

Maybe using different windows users to start different sql instances as another layer of security can be good idea. Also you can put MDF files in the separate directories with different windows users being able to access the directory. And start different named instances with different users that can access required MDFs.

share|improve this answer

SQL Server instances have separate sets of binaries for each installation. For the base engine, you will have separate SQL Server and SQL agent services that can run under separate accounts. They each have their own configurations and users. This is also true for other components like Analysis Services and Reporting Services if you install them.

There are shared components, including Management Studio, Integration Services, and the SQL Browser service. You can find a full listing of shared components here.

Note, you will have several considerations to make when maintaining different instances:

  • SQL Version consistency (each instance can be of a different SQL version)
  • Memory Settings - Each instance will maintain a memory pool separate from the other instances. You will want to plan out your Max Memory settings for each instance so that the different instances won't compete with each other.
  • Possible CPU contention - All instances will make use of the same CPU cores. You can manage the processor affinity mask if you want to reserve threads for different instances, but I haven't had much of a need for that.

Overall, you'll need to keep in mind that all your instances will be competing for resources on the same server, so balance those resources accordingly.

share|improve this answer

Almost nothing is going to be shared.

From the perspective of the actual SQL Server services nothing is shared. Each instance get's it's own services and each has their own copies of the actual EXE files.

Only one copy of the management tools is installed, and things like drivers are shared.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.