Will SQL Server 2005 Failover Clustering Still Work When The Database Level Is Set To 80?
Nov 2, 2006
We want to use sql 2005 failover clustering feature, so that upgrade sql 2000 is necessary. But some of the stored procedures built in 2000 are not working directly in 2005, set the compatibility level to 80 could make them work. In this case, can somebody here tell me if down grade the database level will affect failover clustering running properly? e.g. will data still be synchronized properly? Thanks in advance.
I am looking in to using Microsoft Clustering supported in NT Server Enterprise to provide failover support for 2 database servers running SQL Server 7. I was wondering if anyone had any experience with it--good or bad. I read the white paper and it sounds good, but I'd like to get some real world application experience.
I have 2 Windows 2003 r2 servers with a SQL failover cluster installed across the 2 node. Generally I have been running off node1 with node2 as the failover partner. I have purchased the correct licensing for noe1 and from the following I do not need to purchase a license for node2:
Failover clustering is a process where the operating system and SQL Server 2005 work together to provide availability in the event of an application failure, hardware failure, or operating-system error. Failover clustering provides hardware redundancy through a configuration in which critical resources are transferred automatically from a failing machine to an equally configured server to help ensure continuity of service.
When doing failover support, a server is designated as the passive server. The purpose of the passive server is to absorb the data and information held in another server that fails. A passive server does not need a license if the number of processors in the passive server is equal to or less than the number of processors in the active server. The passive server can take the duties of the active server for 30 days. Afterwards, it must be licensed accordingly
1) If I switch my cluster instace to point to node2 for testing node2 in case of a failover, would I need to purchase another licence ? This means I am not doing the repointing because of an 'event of an application failure, hardware failure, or operating-system error' ? Can you please provide information from MS ?
2) How are SQL Licences bound to the windows install in a SQL Server failover cluster configuration ? For instance if node1 legitimately fails due to an 'event of an application failure, hardware failure, or operating-system error' and you failover to node2. Then you think, stuff (forget about) node1 as I have 1 set of licences for SQL Enterprise already and therefore can run with a legitimate licence on node2. Can you please clarify ?
3) I have heard that only one server needs a license in a failover cluster. Then how does this fit in with any of the questions from above:
'The passive server can take the duties of the active server for 30 days. Afterwards, it must be licensed accordingly' ?
In the event of a legitimate failure, node2 would be running off the license purchased. So why are MS restricting the use of it for 30 days ?
We're planning to install a Server 2005 Failover Cluster and I'd like to find more information about licensing, etc. Basic questions:
- What is the best O.S. to run? Win 2003 or the new 2008? And what version (datacenter, enterprise)? - Since I'm going to use 2 machines, will I have to pay for 2 licenses (sql and windows - two lic. each)? Or just 1 license, since just 1 machine will be the active server?
This is for some web applications, so, web environment.
Hi, Please tell me that, What is Clustering in SQL SERVER 2005 Database? What is the main reason of Clustering in SQL SERVER 2005 Database? What are the advantages of Clustering in SQL SERVER 2005 Database? How can I implement Clustering in SQL SERVER 2005 Database? waiting for your reply with thanks T C
I've tried to replicated exactly what it says in the online documentation. At the end of the post are the SQL statements issued.
1. Enable encrypted outbound connections on the primary server 2. Enable encrypted outbound connections on the mirror server 3. Enable encrypted outbound connections on the witness server 4. Enable encrypted inbound connections on the primary server 5. Enable encrypted inbound connections on the mirror server 6. Enable encrypted inbound connections on the witness server 7. Set mirror''s partner to the primary 8. Set primary''s partner the mirror 9. Set principal€™s witness. Every step run''s normally,but why can''t auto failover.
I used the following Script:
/* -------- 1. ENABLE OUTBOUND CONNECTIONS ON THE PRIMARY -------- */ use master; go DROP USER PrincipalLogin1 DROP LOGIN PrincipalLogin1 DROP USER PrincipalLogin2 DROP LOGIN PrincipalLogin2 GO
Create login PrincipalLogin1 with password='PrincipalLogin' go Create user PrincipalLogin1 from login PrincipalLogin1 go
Grant connect on endpoint::Principal_Endpoint_Mirroring to PrincipalLogin1 go ---stop
create certificate MirrorCertForPartnerPub authorization PrincipalLogin1 from file = 'd:BackupCertMirrorCertForPartner.cer'; go
Create login PrincipalLogin2 with password='PrincipalLogin' go Create user PrincipalLogin2 from login PrincipalLogin2 go
Grant connect on endpoint::Principal_Endpoint_Mirroring to PrincipalLogin2 go create certificate WintnessCertForPartnerPub authorization PrincipalLogin2 from file ='D:BackupCertCertForDBRole.cer' GO
ALTER DATABASE Mirrortest SET PARTNER = 'TCP://10.1.40.158:5022' GO
ALTER DATABASE Mirrortest SET witness = 'TCP://10.10.11.30:7000' GO
select * from sys.certificates
/* -------- 2. ENABLE OUTBOUND CONNECTIONS ON THE MIRROR -------- */ --On Mirror --Remove the database --Connect to either partner. --Issue the following Transact-SQL statement:
ALTER DATABASE Mirrortest SET PARTNER OFF
--Optionally, you can recover the former mirror database. On the server instance that was the mirror server, enter:
--RESTORE DATABASE Mirrortest WITH RECOVERY;
RESTORE DATABASE [Mirrortest] FROM DISK = N'D:BackupCertMirrortest.bak' WITH FILE = 1, NORECOVERY, NOUNLOAD, REPLACE, STATS = 10 GO select * from sys.endpoints
drop endpoint Mirror_Endpoint_Mirroring
select * from sys.certificates
Create certificate MirrorCertForPartner with subject ='this is the certificate for mirror', start_date='06/25/2006'
backup certificate MirrorCertForPartner to file='d:ackupcertMirrorCertForPartner.cer'
CREATE ENDPOINT Mirror_Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=5022) FOR DATABASE_MIRRORING ( Authentication=Certificate MirrorCertForPartner ,ROLE=ALL) GO
/* -------- 3. ENABLE OUTBOUND CONNECTIONS ON THE WINTESS -------- */
--On Witness
USE [master] GO
select * from sys.certificates
drop certificate CertForDBRole GO
create master key encryption by password='asdf'
Create certificate CertForDBRole with subject='this is a certificate for pricipal role', start_date='06/25/2006'
backup certificate CertForDBrole to file='c:CertForDBRole.cer'
select * from sys.endpoints
drop endpoint Witness_Endpoint_Mirroring
CREATE ENDPOINT Witness_Endpoint_Mirroring STATE=STARTED AS TCP (LISTENER_PORT=7000) FOR DATABASE_MIRRORING ( Authentication=Certificate CertForDBRole ,ROLE=ALL) GO
/* -------- 4. ENABLE INBOUND CONNECTIONS ON THE PRIMARY -------- */ use master; go DROP USER PrincipalLogin1 DROP LOGIN PrincipalLogin1 DROP USER PrincipalLogin2 DROP LOGIN PrincipalLogin2 GO
Create login PrincipalLogin1 with password='PrincipalLogin' go Create user PrincipalLogin1 from login PrincipalLogin1 go
Grant connect on endpoint::Principal_Endpoint_Mirroring to PrincipalLogin1 go ---stop
create certificate MirrorCertForPartnerPub authorization PrincipalLogin1 from file = 'd:BackupCertMirrorCertForPartner.cer'; go
Create login PrincipalLogin2 with password='PrincipalLogin' go Create user PrincipalLogin2 from login PrincipalLogin2 go
Grant connect on endpoint::Principal_Endpoint_Mirroring to PrincipalLogin2 go create certificate WintnessCertForPartnerPub authorization PrincipalLogin2 from file ='D:BackupCertCertForDBRole.cer' GO
ALTER DATABASE Mirrortest SET PARTNER = 'TCP://10.1.40.158:5022' GO
ALTER DATABASE Mirrortest SET witness = 'TCP://10.10.11.30:7000' GO
select * from sys.certificates
/* -------- 5. ENABLE INBOUND CONNECTIONS ON THE MIRROR -------- */ use master; go DROP USER MirrorLogin1 DROP LOGIN MirrorLogin1 DROP USER MirrorLogin2 DROP LOGIN MirrorLogin2 GO
Create login MirrorLogin1 with password='MirrorLogin' go Create user MirrorLogin1 from login MirrorLogin1 go
Grant connect on endpoint::Mirror_Endpoint_Mirroring to MirrorLogin1 go
--stop create certificate PrincipalCertForPartnerPub authorization MirrorLogin1 from file = 'd:BackupCertPrincipalCertForPartner.cer'; go
Create login MirrorLogin2 with password='MirrorLogin' go Create user MirrorLogin2 from login MirrorLogin2 go create certificate WitnessCertForPartnerPub authorization MirrorLogin2 from file ='D:BackupCertCertForDBRole.cer' GO
Grant connect on endpoint::Mirror_Endpoint_Mirroring to MirrorLogin2 go
ALTER DATABASE Mirrortest SET PARTNER = 'TCP://10.10.116.42:5022' GO
ALTER DATABASE Mirrortest SET WITNESS = 'TCP://w7mis02:5024' GO
/* -------- 6. ENABLE INBOUND CONNECTIONS ON THE WITNESS -------- */
use master; go DROP USER WitnessLogin1 drop login WitnessLogin1 DROP USER WitnessLogin2 drop login WitnessLogin2
Create login WitnessLogin1 with password='WitnessLogi*n@' go create user WitnessLogin1 from login WitnessLogin1 go
create certificate PrincipalCertForPartnerPub authorization WitnessLogin1 from file = 'c:ackupcertPrincipalCertForPartner.cer'; go --*************************************** Create login WitnessLogin2 with password='WitnessLogi*n@' go create user WitnessLogin2 from login WitnessLogin2 go
create certificate MirrorCertForPartnerPub authorization WitnessLogin2 from file = 'c:ackupcertMirrorCertForPartner.cer'; go
Grant connect on endpoint::Witness_Endpoint_Mirroring to WitnessLogin1 go Grant connect on endpoint::Witness_Endpoint_Mirroring to WitnessLogin2 go
Database server: SQL Server 2005 Developer Edition with SP1 Application: An application developed by Visual Studio 2005 using C# (.Net framework 2.0) and ADO .Net 2.0.
Principal server: computerA Mirror server: computerB Witness server: computerC Mirroring mode: High availability with auto failover
Connection String: Data Source=computerA;Failover Partner=computerB;Initial Catalog=test_mirroring;Persist Security Info=True;User ID=sa;
(Part A) At the beginning of the test, computerA was in principal role. I started my testing application and connected to computerA without any problem. Then I disconnected the connection of computerA to the network by unplugging the network cable of computerA. The failover of database from computerA to computerB was carried out without problem. computerB was in principal role at that time. The application was pending for about 45 seconds and running again without problem. Then I re-connected computerA to network and it became the mirror server. computerB was still in principal role. Up to this point, all works fine, but the problem was coming next. (Part B) I disconnected computerB from network, database failover occurred, computerA became principal again. But my application cannot switch the database connection to computerA and then kept pending. Then, I re-connected computerB to network. It was surprised that the application switched the database connection to computerA successfully at that point.
My questions:
1. I think Part B is abnormal, isn€™t it? The application should be able to failover from computerB to computerA, because it works fine when failover from computerA to computerB. 2. Is there anything wrong in my code leads to the abnormal behavior of the application in Part B. 3. How can I achieve Part B? Any suggestion or idea?
I have a 2 node Microsoft 2000 cluster with a shared storage device. Iwant to create automatic failover for MS SQL 2000 server. I can dothat wit the following options:1. Active/Pasive (one instance installed)2. Active/Active (More then one instance/virtual sql serversinstalled)I have a question about option 2.Is it possible to have more then one instance/virtual SQL server,service only one database for example loadbalancing. ?, or when youcreate multiple instances/virtual SQL servers, does that mean you havemultiple databases ? If not why does a Virtual SQL server has to betaken over by a cluster node that didnt fail. Then you can actuallyuse option 1. Please advise!The documentation is not very clear on this issues.Regards,Nico de Groot
Dear Friends,I wanted to configure Failover cluster for SQL Server 2000 on Windows2000 advanced servers.I have only 2 no.s of windows 2000 advanced server m/cs. I dont haveany shared disks and SCSI drives. Can I still configure the Failoverclustering?I would like to know more about the need for the shared disks in theFailover clustering.Please shed some light.RegardsKumar
Does anyone know how to obtain the physical server name that a SQL failover cluster instance is running on through the system tables or other database commands? Thanks in advance.
I have two SQL 7.0 SP1 (WinNT 4.0 SP 6.2) Servers using Clustering.
Problem: When SQLBox1 goes down, the Failover sends it to SQLBox2. When SQLBox1 comes back up, the node stays on SQLBox2, instead of going back to SQLBox1. This happens over 50% of the time, but not every time. Sometimes it works fine.
I have done 3 hours of research, and can not find anything on this problem, can any one a tleast point me in the right direction. I can hardly find any troubleshooting on this issue. I do have January 2000 of the MSDN Library installed on my machine if that helps, but there was not much on it in there either (at least not that I found).
In evaluating/comparing MS Clustering vs Hardware Failover Blades, has anyone come across any disadvantages/concerns for a Hardware Failover Blades.
Why would you install MS SQL 2000 Clustering when you can use a Hardware Failover Blade and use a SQL 2000 standard edition. e.g In an event a hardware failure occurs the admin manager brings over a standby hardware blade and reassigns it to the SAN (on which OS and SQL 2000) is installed and you are up and running.
Would appreciate any comments and suggestions to compare these solutions.
how to configure email in SQL server failover clustering. I need to configure email to send when node switches from one node to another. best way to configure email in fail over clustering?
I tested the failover clustering for SQL 2008R2.When I stop the SQL server services manully, the failover did not fail to another resource. At the Faiolover cluster manager, SQl server(MSSQLSERVER)  only show the status for offline. I think it should be move to another owner intead of just show as offline.
I am confuse and cant decide on how to setup high availability on our SQL 2005. Here's what on my mind and on resources list:
I plan to have mirroring on my SQL1 to SQL2 with the help of SQL3 as witness. So this would be automatic failover. My idea on mirroring is when SQL1 goes down, SQL3 would tell SQL2 to run and be the primary. It will automatically failover to SQL2. Right? My questions are:
1) How can I revert back to SQL1 once it is ready?
2) I read in one of the post that it is impossible to write in a mirrored DB, is this true? I mean, what's the use of failing over to the next node when it's not possible to write and update data/records?
3) If number 2 is false (i hope so), how would the data be synchronize from SQL2 back to SQL1. Those transaction that were made while SQL1 is down.
4) How about the connection string from the web applications? Would it be automatically point to SQL2? We have load balancing setup in place, would this help web application connection to automatically point to SQL2?
Another setup:
We have SAN in place (not yet used, but is planning to use for this SQL thing), EMC to be specific. My question would be:
1) For SAN setup, the data storage would be centralize. So would that mean that SQL1 and SQL2 services will use the same data and log file from the SAN storage?
2) How would you call this setup then? Can this be clustering type of high availability? Will clustering work under load balancing setup? I believe mirroring is not possible here? Right?
3) How can I setup my 3 SQL servers with the same theory in mind: when SQL1 goes down, SQL2 will take over. Data will be synchronize when SQL1 is up and running again. With automatic failover and reverting back to primary.
I read so much topics about this, but the more I research, the more I get confuse.
Any suggestions, comments, advice is greatly appreciated!
I installed SQL Server 2005 Developer Edition. When i create a new database (using the "New Database" dialog) i cannot set the new database's compatibility level to "SQL Server 2005(90)" because this option is not in the "dropdown list". the only items shown are: "SQL Server 7.0(70)" and "SQL Server 2000(80)". I set the owner to "sa". How do i get "SQL Server 2005(90)" in my "compatibility level" drop down list? Is this an installation option that i missed? Thanks in advance for any assistance!
Is SQL 2000 clustering on windows 2000 any good ??
We are looking at spending *quite* a bit of money to implement it, but I need opinions of what its like from the people that actually use it & look after it.
e.g.
DOES IT WORK LIKE IT SHOULD???????? Is it reliable? Is it resource hungry? Are there lots of bugs?
All repsonses very welcome. No response too small.
We have 2 env. : Testing and Production, both are running Windows 2003 Enterprise Server with SQL Server 2005. The difference is Testing is NOT running Windows cluster but Production do so, what is the best way to transfer a database from testing to production?
We have another systems that both testing and production are running on NON-cluster and we use backup/restore to transfer the database, can it apply in this case.
And I found that there are a tools called DTC, which can transfer all DB objects from one DB to another, is it a best way to transfer between non-cluster and cluster env.?
We have a Prinicipal, a Mirror and a Witness server. We have automatic failover configured between the Prinicipal and Mirrored server. When we stop MMSQL service on Prinicipal, not all the databases failover to the Mirrored instance. Any suggestions would be welcomed as we have a tight deadline to get this in Production.
Pl clarify how to use SQL server 2005 clustering Algorythm , I want to use the case and nested table concept. Pl let me know what is key column , Input and product with an example
I have table in the following structure
Cust_id
Age
Product
Location
Income
the above mentioned columns are in my tableand i want to perdict which product is mostly likely to sold with other based on age , location and income
Pl clarify and mail me on rajesh.ladda@lntinfotech.com
I am getting ready to have a SQL Server failover cluster setup. I have used SQL 2000 for years, mostly for DTS and related database activities, but NOT in a cluster. I have used SQL 2005 for about one year but not intensively, and NOT in a cluster.
We need to set up a cluster. We are setting up a DELL EMC solution. I am going to hire a consultant to set it up, including the SQL part. My questions are should I use SQL 2000 or 2005? (I don't know if one is better than the other for clustering. Both are supported by our vendor for the application we are running.) How hard is it to maintain a cluster if one hasn't had experience in that area before? How should I prepare?
Any opinions or experiences that you would like to share would be helpful.
1. Once fail over to secondary replica, what will happen to connected session in primary node? can the session fail over to secondary seamlessly or need to re-login. what happen committed transactions which has not write to disk. 2. Assume I have always on cluster with three nodes, if primary fails, how second node make write/ read mode. 3. after fail over done to 2nd secondary node what mode in production(readonly or read write). 4. how to rollback to production primary ,will change data in secondary will get updated in primary.
I am developing an enterprise class solution using SQL Server 2005 and MS .NET v2 and am tying determine if SQL Server 2005 (which edition and if so how) would be adequate for my proposed solution. Any feedback, tips, comments would be greatly appreciated.
As a background the solution I am developing will be web services based and used by multiple offices around the globe by over 500 users. I have already developed a prototype using a single SQL Server 2005 instance but as this solution is going to be used by offices around the world I want to have an IIS Server and SQL Server 2005 server instance in each office with "links" back to the primary SQL Server 2005 cluster in Australia.
One of my thoughts was to set up replication between the offices that would happen at midnight remote office local time and then set up triggers to update the primary cluster when assoociated data was changed on the remote sites or on the primary cluster. Does anyone know or can anyone suggest alternatives to this strategy?
I effectively need some sort of inter site caching functionality with store and foreward capabilities ...
We have sql server 2005 installed locally on 2 servers and want to set up failover clustering. Do we need to uninstall what we have then install as failover cluster? Thanks.
I have tried to install SQL Server 2005 Standard edition with CLUSTERING. I faced a problem and everything rolls back.
TITLE: Microsoft SQL Server 2005 Setup ------------------------------
SQL Server Setup was unable add user domain1xyz to local group domain1IT Security Admin-Group.
For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.06&EvtSrc=setup.rll&EvtID=29512&EvtType=sqlca%5csqlsecurityca.cpp%40Do_sqlGroupMember%40Do_sqlGroupMember%40x6ba
I have refered to PostI=1659185 posted by Fly and it still won't be able to fix my problem.
I have added LOCAL SERVICE into the local group (SQLServer2005MSFTEUser$AAA$MSSQLSERVER), but it still can't work.
Please can someone help me on this. Thank a lot....