AlwaysOn Script
AlwaysOn Script
:Connect LDC-SSC-DBA1
USE [master]
GO
GO
GO
use [master]
GO
GO
:Connect LDC-SSC-DBA2
USE [master]
GO
GO
GO
use [master]
GO
GO
:Connect LDC-SSC-DBA1
IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE name='AlwaysOn_health')
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER WITH (STARTUP_STATE=ON);
END
IF NOT EXISTS(SELECT * FROM sys.dm_xe_sessions WHERE name='AlwaysOn_health')
BEGIN
ALTER EVENT SESSION [AlwaysOn_health] ON SERVER STATE=START;
END
GO
:Connect LDC-SSC-DBA2
GO
:Connect LDC-SSC-DBA1
USE [master]
GO
GO
:Connect LDC-SSC-DBA2
GO
:Connect LDC-SSC-DBA1
GO
:Connect LDC-SSC-DBA2
GO
:Connect LDC-SSC-DBA1
GO
:Connect LDC-SSC-DBA2
GO
:Connect LDC-SSC-DBA2
if (serverproperty('IsHadrEnabled') = 1)
and (isnull((select member_state from master.sys.dm_hadr_cluster_members
where upper(member_name COLLATE Latin1_General_CI_AS) =
upper(cast(serverproperty('ComputerNamePhysicalNetBIOS') as nvarchar(256)) COLLATE
Latin1_General_CI_AS)), 0) <> 0)
and (isnull((select state from master.sys.database_mirroring_endpoints), 1) =
0)
begin
select @group_id = ags.group_id from master.sys.availability_groups as ags
where name = N'testAG'
select @replica_id = replicas.replica_id from
master.sys.availability_replicas as replicas where
upper(replicas.replica_server_name COLLATE Latin1_General_CI_AS) =
upper(@@SERVERNAME COLLATE Latin1_General_CI_AS) and group_id = @group_id
while @conn <> 1 and @count > 0
begin
set @conn = isnull((select connected_state from
master.sys.dm_hadr_availability_replica_states as states where states.replica_id =
@replica_id), 1)
if @conn = 1
begin
-- exit loop when the replica is connected, or if the query
cannot find the replica status
break
end
waitfor delay '00:00:10'
set @count = @count - 1
end
end
end try
begin catch
-- If the wait loop fails, do not stop execution of the alter database
statement
end catch
ALTER DATABASE [NMSDB] SET HADR AVAILABILITY GROUP = [testAG];
GO
GO