快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

如何使SQL Server数据库联机

请联系QQ:1793040 索取软件

问题

您需要使脱机的SQL Server用户数据库重新联机。

这些是使数据库脱机的一些原因:

  • 您99%的确定数据库已不再使用,但是用户“大喊”,现在您可以非常快速地将其重新联机
  • 数据库已脱机一段时间,您可以放心它不再使用,并且可以执行 备份 和测试 还原(即使应该已经完成​​)并删除数据库
  • 您已将数据库移至另一台服务器并重新指向新服务器,但要保证用户无法访问旧服务器

若要查看如何使SQL Server数据库脱机,请阅读本技巧- 如何使SQL Server数据库脱机

我们已经看到了使数据库脱机的三种不同方式, 并且将使它恢复在线的三种方式。不管使用哪种方法使它脱机,您都可以使用这三种方法中的任何一种使其恢复在线状态。每种方法都做相同的事情。

此处列出了三种方法,并带有项目符号点,以帮助您决定使用哪种方法使数据库脱机或使其重新联机:

  • SQL Server管理Studio(SSMS)
    • 自由
    • 基于GUI
    • 如果您只需要使一个数据库脱机,可能是最简单,最快的方法
    • 不需要您非常熟悉使用T-SQL或PowerShell
    • 使您可以轻松地查看数据库中是否存在连接,然后再尝试使其脱机
    • 有一个简单的复选框选项可以强制连接出数据库
    • 详细信息 -SQL Server Management Studio提示
  • T-SQL
    • 在Management Studio的查询窗口中运行
    • 仍然非常容易和快速
    • 只需很少的T-SQL知识
    • 在编写T-SQL脚本以使一个或多个数据库脱机时使用
    • 仍然很容易将连接强制出数据库
    • 更多信息 -T-SQL提示
  • dbatools
    • 免费的PowerShell模块
    • 仍然轻松快捷
    • 只需对PowerShell和dbatools有所了解
    • 非常容易编写脚本,使一个或多个数据库联机
    • 仍然很容易将连接强制出数据库
    • 更多信息 -PowerShell技巧

我们将逐步介绍这三种方法中的每一种,这样您就可以决定当时哪种方法最适合您的目的。

本技巧中使用了以下版本:

  • SQL Server 2017 CU19开发人员版
  • SQL Server管理Studio 18.4
  • PowerShell 5.1.17763.1007
  • dbatools 1.0.52

使用SQL Server Management Studio(SSMS)使数据库联机

启动Management Studio

  1. 左键单击开始
  2. 所有应用
  3. Microsoft SQL Server工具
  4. Microsoft SQL Server管理工作室
从快捷方式启动SQL Server Management Studio(SSMS)

或者,由于将SQL Server工具路径附加到用户的%PATH%变量中,因此:

  1. 右键单击开始
跑
  1. 在“打开”中输入ssms
从可执行文件启动SQL Server Management Studio(SSMS)

对象资源管理器可能会自动打开,但如果不单击

  1. 查看菜单
  2. 对象资源管理器选项

或者,只需在SSMS中按F8。

显示对象资源管理器

现在,我们将连接到数据库引擎

  1. 连接
  2. 数据库引擎…
连接
  1. 服务器名称:(在我们的示例中,我正在连接到本地计算机上的命名实例调用SQL2017,因此SQL Server的全名是。\ SQL2017)
  2. 身份验证(假设您正在使用Active Directory身份验证)
  3. 连接
连接到数据库引擎

我们将要联机的数据库的名称是MyDatabase,我们可以看到数据库名称后面附加了“(Offline)”。

  1. 展开服务器下拉菜单
  2. 展开数据库下拉菜单
  3. 右键单击数据库名称MyDatabase
  4. 任务(“脱机”显示为灰色)
  5. 上网
使数据库联机
  1. 选中“使数据库联机”框的“成功”状态列
  2. 按关闭按钮
在线成功

在对象资源管理器中查找以确保数据库不再显示(脱机)

在线验证数据库

如果不,

  1. 右键单击“数据库”
  2. 单击刷新选项
刷新数据库列表

使用T-SQL使数据库联机

我们仍将使用SSMS,但仅使用“查询”窗口来运行所需的代码。

  1. 右键单击服务器
  2. 选择“新查询”选项
新查询

正如我们已经看到的使数据库脱机的“ ALTER DATABASE”命令一样,您可以猜测,使数据库联机的T-SQL只是一个“ SET ONLINE”,而不是我们 前面的技巧中的“ SET OFFLINE” 。

ALTER DATABASE [MyDatabase]设置在线
  1. 突出显示ALTER DATABASE [MyDatabase]设置在线
  2. F5(或执行)
使数据库联机

我们没有收到任何错误,但是这是一种通过查询sys.database视图来验证数据库是否脱机的方法。

选择 *  从 sys 。数据库
  1. 突出陈述
  2. F5(或单击执行)
  3. 查找数据库名称
  4. 检查state_desc列的状态
在线验证数据库

使用dbatools使数据库联机

我们已经看到了如何使用SQL Server Management Studio和T-SQL使数据库联机,现在我们将看到如何使用dbatools来实现它。

开始:

  1. 右键单击开始
跑
  1. 电源外壳
启动PowerShell可执行文件

正如使用T-SQL使数据库脱机的命令一样,除了一个开关一样,使用dbatools也是相同的想法。我们需要做的就是通过-online开关通过Set-DbaState使数据库联机,而不是脱机。

Set-DbaDbState -SqlInstance JGAVIN-L \ SQL2017-数据库MyDatabase-在线

而且我们看到状态在线显示。

使数据库联机
下一步

我们已经看到了如何使用SSMS,T-SQL和dbatools PowerShell脚本使数据库重新联机。这三种方法都做相同的事情。如果您只是想以最快的方式进行选择,或者根据您对T-SQL或PowerShell的满意程度,可以选择任意一种。

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040