gpt4 book ai didi

sql - 如何以编程方式将数据库添加到现有的 Always On 可用性组 (AOAG)?

转载 作者:搜寻专家 更新时间:2023-10-30 20:09:17 24 4
gpt4 key购买 nike

我想以编程方式(T-SQL 脚本)创建一个新数据库,然后将其添加到现有的 Always On 可用性组 (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 .

任何帮助将不胜感激!

最佳答案

你可以试试下面的代码。

--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

关于sql - 如何以编程方式将数据库添加到现有的 Always On 可用性组 (AOAG)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28960278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com