【问题标题】:SQL Script to take a Microsoft Sql database online or offline?SQL 脚本使 Microsoft Sql 数据库联机或脱机?
【发布时间】:2009-05-11 07:29:22
【问题描述】:

如果我想离线或在线使用 MS Sql 2008,我需要使用 GUI -> DB-Tasks-Take Online 或 Take Offline。

这可以用一些 sql 脚本来完成吗?

【问题讨论】:

    标签: sql sql-server-2008 offline


    【解决方案1】:
    ALTER DATABASE database-name SET OFFLINE
    

    如果您在连接用户或进程时运行ALTER DATABASE 命令,但您不希望该命令被阻止,您可以使用 NO_WAIT 选项执行该语句。这会导致命令失败并出现错误。

    ALTER DATABASE database-name SET OFFLINE WITH NO_WAIT
    

    在线对应:

    ALTER DATABASE database-name SET ONLINE
    

    【讨论】:

      【解决方案2】:
      -- Take all user databases offline
      CREATE PROCEDURE SP_TakeOfflineAllDatabase AS
      BEGIN
          DECLARE @db sysname, @q varchar(max);
          DECLARE cur_db CURSOR FOR
              SELECT name FROM sys.databases WHERE owner_sid<>0x01;
          OPEN cur_db;
          WHILE 1=1
          BEGIN
              FETCH NEXT FROM cur_db INTO @db;
              IF @@FETCH_STATUS <> 0
                  BREAK;
              SET @q = N'ALTER DATABASE [' + @db + N'] SET OFFLINE WITH NO_WAIT';
              EXEC(@q);
          END;
          CLOSE cur_db;
          DEALLOCATE cur_db;
      END;
      

      在运行该过程之前重新启动服务器。它将关闭与数据库的现有连接。

      【讨论】:

        【解决方案3】:

        我知道这是一篇旧帖子,但以防万一有人遇到此解决方案并且更喜欢不执行但返回脚本的非游标方法。 我刚刚采用了之前的解决方案,并将其转换为基于结果构建的选择。

        DECLARE @SQL VARCHAR(8000)
        
        SELECT @SQL=COALESCE(@SQL,'')+'ALTER DATABASE  '+name+ N' SET OFFLINE WITH NO_WAIT;
            '
        FROM sys.databases
        WHERE owner_sid<>0x01
        PRINT @SQL
        

        【讨论】:

          【解决方案4】:

          这里有一个可能对您非常有用的注释: 几乎总是可以看到 GUI 在后台执行 TSQLwise 的操作。

          c : http://www.mssqltips.com/tip.asp?tip=1505

          【讨论】:

          • Nod Peter - 我一直使用那个按钮(抓取脚本)......一个很好的例子是当我希望更改表结构/模式时,它需要超过 30 秒(引发超时错误之前的默认等待时间)..所以我需要获取更改脚本并手动运行它。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-03-04
          • 2011-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-11-12
          • 2012-01-25
          相关资源
          最近更新 更多