首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等效于设置HADR的SMO

等效于设置HADR的SMO
EN

Stack Overflow用户
提问于 2015-01-14 18:38:22
回答 1查看 523关注 0票数 2

在SMO (C#)中,什么是相当于.

代码语言:javascript
复制
ALTER DATABASE db SET HADR OFF;

我查看了数据库和AvailabilityDatabase类的文档,没有什么能真正跳出我的视线。

这里的最终目标是删除作为可用性组成员的数据库。目前,我们首先关闭HADR,然后删除所有辅助服务器上的数据库,然后在主服务器上从可用性组中删除数据库并删除那里的数据库。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-21 20:11:17

下面是我决定使用SMO删除加入到AlwaysOn可用性组的数据库的过程.

代码语言:javascript
复制
Server primaryServer = new Server();
AvailabilityDatabase pDb = primaryServer.AvailabilityGroups[agName].AvailabilityDatabases[dbName];
pDb.SuspendDataMovement();
while (!pDb.IsSuspended)
{
  Thread.Sleep(1000);
  pDb.Refresh();
}

foreach (var secondary in secondaryServers)
{
  AvailabilityDatabase sDb = secondary.AvailabilityGroups[agName].AvailabilityDatabases[dbName];
  sDb.SuspendDataMovement();
  while (!sDb.IsSuspended)
  {
    Thread.Sleep(1000);
    sDb.Refresh();
  }

  sDb.LeaveAvailabilityGroup(); // this appears to be the equivalent of SET HADR OFF

  Database db = secondary.Databases[dbName];
  db.UserAccess = DatabaseUserAccess.Single;
  secondary.KillAllProcesses(dbName);
  db.Drop();
}

pDb.Drop();

Database db = primaryServer.Databases[dbName];
db.UserAccess = DatabaseUserAccess.Single;
primaryServer.KillAllProcesses(dbName);
db.Drop();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27950110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档