我想以编程方式(T-SQL脚本)创建一个新数据库,然后将其添加到现有的Always On Availability Group(AOAG)。
到目前为止,我可以创建数据库,创建完整的备份(这是向AOAG添加数据库的先决条件)并将其添加到现有的AOAG。
但是,我不知道如何初始化到辅助数据库服务器的初始复制。
到目前为止,这是我的脚本:
CREATE DATABASE Test;
GO
USE Test;
GO
BACKUP DATABASE Test
TO DISK = 'D:\Sync\Test.Bak'
WITH FORMAT,
MEDIANAME = 'D_Sync',
NAME = 'Initial Full Backup for restore in AOAG group';
GO
USE Master
GO
ALTER AVAILABILITY GROUP AOAG_APP ADD DATABASE Test;
GO
如果我使用的是MS SQL Server Management Studio,我会使用向导,在Select Data Synchronization
选项中,我会选择Full
,然后选择备份文件的路径。
如何使用SQL脚本实现相同的目标? ALTER AVAILABILITY GROUP <group> ADD DATABASE <database>
似乎没有指定Full
和path to backup files
的选项。
任何帮助将不胜感激!
答案 0 :(得分:3)
您可以尝试使用以下代码。
--On primary node
create database test
alter database test set recovery FULL
backup database test to disk='Z:\Backups\Test Folder\test.bak'
backup log test to disk='Z:\Backups\Test Folder\test.trn'
alter availability group availablitygroup_name
add database [test];
--On secondary node
Restore database test from disk='\\node1\Backups\Test Folder\test.bak' with norecovery
restore log test from disk='\\node1\Backups\Test Folder\test.trn' with norecovery
alter database test set HADR availability group= availablitygroup_name
--On primary node
use test
go
create table abc(name varchar(15))
Insert into abc values('amarnath')
select * from abc
--On secondary node
use test
go
select * from abc