Always On SQL Server 2012
Bonjour,
Je suis un stagiaire DBA, je travails sur Always On Availability Group, et je veux savoir s’il y a une méthode pour ajouter chaque base crée sur mon instance sur un groupe de disponibilité existant.
J’ai utilisé un Trigger DLL, pour automatisé ca mais le problème que on ne peut pas exécuter Backup DATABASE dans un Trigger DLL, car pour ajouter une base de donnée sur un groupe de disponibilité il faut qu’elle soit sauvegardée en full backup.
Voilà le script que j’ai utilisé : Quelqu’un peux m’aider ?
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| /****** Object: DdlTrigger [Add_Availability_Group] Script Date: 06/18/2013 16:25:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [Add_Availability_Group]
ON ALL SERVER
FOR CREATE_DATABASE
AS
DECLARE @database sysname;
DECLARE @cmd varchar(Max);
SET @database = EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]','nvarchar(max)')
PRINT 'Database ' + @database + ' Created.'
SET @cmd = 'BACKUP DATABASE ' +@database+ ' TO DISK = N''B:\BACKUP\ttt.back'' WITH COPY_ONLY, FORMAT, INIT, SKIP, REWIND, NOUNLOAD, COMPRESSION, STATS = 5'
exec (@cmd)
PRINT 'Database ' + @database + ' Backup.'
ALTER AVAILABILITY GROUP [EMU-AG1]
ADD DATABASE @database;
PRINT 'Database ' + @database + ' ADD AVAILABILITY GROUP .'
GO
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ENABLE TRIGGER [Add_Availability_Group] ON ALL SERVER
GO |