I've got a database that is mirrored using SQL 2008 Mirroring.
I have a java application, running on Linux, using the Microsoft SQL type 4 JDBC drivers.
I have this setup duplicated as a QA environment.
On my QA environment, when I manually fail over the database, providing a successful connection had already been made, the failover was completely transparent. I did not have to implement anything in order to get the application to talk to the new Principle (Old mirror).
In the live environment however, the connections stop working once I have manually failed over.
There are quite a few things different between the live and QA environments, but not anything I'd consider fundamental to this process, communication between databases is all very localised in both situations and there are no firewalls (Except the ones built into Windows Server 2008) between my java app and the Windows boxes running SQL 2008.
Does anyone have any ideas about how I can go about diagnosing this issue? Or can anyone tell me how this failover transparency occurs so I can work out how to diagnose this myself?
What mechanisms are used by SQL Server 2008 Mirroring to notify a driver that the primary has failed over?
1.5k views Asked by Matt Fellows At
1
There are 1 answers
Related Questions in JAVA
- Add image to JCheckBoxMenuItem
- How to access invisible Unordered List element with Selenium WebDriver using Java
- Inheritance in Java, apparent type vs actual type
- Java catch the ball Game
- Access objects variable & method by name
- GridBagLayout is displaying JTextField and JTextArea as short, vertical lines
- Perform a task each interval
- Compound classes stored in an array are not accessible in selenium java
- How to avoid concurrent access to a resource?
- Why does processing goes slower on implementing try catch block in java?
- Redirect inside java interceptor
- Push toolbar content below statusbar
- Animation in Java on top of JPanel
- JPA - How to query with a LIKE operator in combination with an AttributeConverter
- Java Assign a Value to an array cell
Related Questions in SQL-SERVER-2008
- How to create separate rows for each unique value in source data
- How to Multiply all values within a column with SQL like SUM()
- Concatenated string in column alias
- Column value divided by row count in SQL Server
- MSSQL Bulk Insert CSV - Multiple columns include commas
- String to DATETIME with TimeZone
- Compare each records of same table in sql server and return duplicates
- 2008R2 SQL Code for case when using the SUM?
- Separate string into columns
- Pass parameters to sql agent job step (Transact-SQL Script)
- using Case get values from different table in sql server
- How to use Replace an unknown length of characters in SQL Server?
- Join Multiple table without using joins
- call an sql function by name returned by select
- How to create a check (Table A.Id and Table B.Id and TypeId = 1)?
Related Questions in JDBC
- Slick query for one to optional one (zero or one) relationship
- No Suitable Driver Found For My Java Application Code
- How to grant privileges to current user
- Selecting a count from my database using Java and Netbeans
- ActiveMQ offline message transfer on database level
- Not able to update db table from one server to another server in JAVA
- How to use CachedRowSet in Google App Engine?
- Where should ? be placed in a PreparedStatement?
- How to figure out the optimal fetch size for the select query
- Microsoft SQL Server JDBC Driver -SSL issues
- Error in updating records using JDBC
- Retrieving image in a jtable
- Log4jdbc-log4j2 to log OracleTypes.CURSOR
- Cannot initialise HikariCP pooled connection, Failure in loading native library db2jcct2
- How to write an java application that takes a sql query and a number as input and fire it
Related Questions in DATABASE-MIRRORING
- SQL Server Log Shipping From Mirrored DB To Mirrored DB
- Operation cannot be performed on database because it is involved in a database mirroring session or an availability group (Azure)
- Database mirroring option not available in sql server management studio 2008
- SQL DB Mirroring
- 2 way sync of MySQL databases
- Database mirroring
- How intelligent is SQL Server Mirroring?
- Is it required to start MSDTC service on database server along with web server? Also should it be running on mirroring server too?
- How to keep log-shipping up after failover (mirroring) in sql server
- Connection string for mirrored database on Azure in Azure Websites
- Can classic ASP handle SQL Server mirroring failovers?
- What mechanisms are used by SQL Server 2008 Mirroring to notify a driver that the primary has failed over?
- How to disable Filestream on SQL Server 2008 R2 to enable mirroring?
- Synchronize between an MS Access (Jet / MADB) database and PostgreSQL DB, is this possible?
- VB.NET application not using failover partner
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
This behaviour is handled by the SQL Server provider as part of the Client Redirect behaviour. This was part of the SQL Server 2005 JDBC (Java Database Connectivity) 1.1 Driver, I'm unsure if that provider was directly used for the new type 4 drivers though?
In your live environment, is your application successfully connecting to the primary server before it fails over, so it is able to cache the failover partner and make use of that when the failover occurs?
To be sure, you can explicitly state the failover partner in the connection string, which is the recommended practice:
jdbc:sqlserver://serverA:1433; databaseName=AdventureWorks; integratedSecurity=true; failoverPartner=serverBThe full documentation of the redirect behaviour can be found here.
The addition of the failover documentation here suggests that it could be a manual consideration.