locked
SQL Server 2008 R2 Mirroring. Is Instance Name Required RRS feed

  • Question

  • We have a 3rd party app running on SQL Server 2008R2.  The instance name is "SQL2008".  We want to mirror the database with witness to another local server for HA.  The vendor is telling us the mirror cannot have an instance name - and says that this is Microsoft's recommendation, as well.  I've searched and can't find this limitation/requirement anywhere.  This seems sort of foolish to me, but the vendor insists it is that way.  It seems to me that when you failover then the mirror would be named and you would have the same problem again.  In this case, the mirror instance would also be named "SQL2008".  Has anyone heard of this limitation?  Thank you.
    Thursday, November 15, 2012 8:31 PM

Answers

  • Hello,

    You can most certainly use named instances when working with mirroring. Unless there are specific limitations of the 3rd party app, for example:

    The server and instance names are hard coded meaning there could only ever be one instance it successfully connects to. Implicit client redirection will not work in your environment and you can't change the connection strings of the application. etc.

    I'm not sure how familiar the 3rd party is with mirroring. Each instance has one and only one port specified for mirroring. When the partner is specified, a named instance is not used just the server name and the port which is all that is needed. It doesn't mean that named instances can't be used, it just means you specify the port and the instance doesn't really matter as it'll match up to whatever instance that port is assigned to for mirroring.

    -Sean


    Sean Gallardy | Blog | Twitter

    Thursday, November 15, 2012 9:26 PM
    Answerer

All replies

  • Hello,

    You can most certainly use named instances when working with mirroring. Unless there are specific limitations of the 3rd party app, for example:

    The server and instance names are hard coded meaning there could only ever be one instance it successfully connects to. Implicit client redirection will not work in your environment and you can't change the connection strings of the application. etc.

    I'm not sure how familiar the 3rd party is with mirroring. Each instance has one and only one port specified for mirroring. When the partner is specified, a named instance is not used just the server name and the port which is all that is needed. It doesn't mean that named instances can't be used, it just means you specify the port and the instance doesn't really matter as it'll match up to whatever instance that port is assigned to for mirroring.

    -Sean


    Sean Gallardy | Blog | Twitter

    Thursday, November 15, 2012 9:26 PM
    Answerer
  • Hi,

    Mirroring occurs at the database level not the instance level. You should ask them for documentation as mirroring between named instances works ok for me.

    You can see hear that MS refers to named instances in the examples.

    "The simplest way to identify the server instance is by specifying its name , <server_name>[\<SQL_Server_instance_name>]. For example:

    Server=Partner_A;

    or

    Server=Partner_A\Instance_2;"

    http://msdn.microsoft.com/en-us/library/ms366348(v=sql.105).aspx


    Sean Massey | Consultant, iUNITE

    Feel free to contact me through My Blog, Twitter or Hire Me.
    Please click the Mark as Answer or Vote As Helpful button if a post solves your problem or is helpful!

    Thursday, November 15, 2012 9:33 PM
  • Thanks for the quick reply.  It turns out they are using some old JDBC drivers that require the instances be unnamed.  At first they seemed to want to point the blame to Microsoft, but they finally fessed up to the fact they are using old drivers.  Your help is much appreciated.

    Brucifer56

    Wednesday, November 21, 2012 5:21 PM