LiCongMingDeShujuku / Take-SQL-Database-Offline-And-Online

使数据库离线和在线

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CLEVER DATA GIT REPO

使数据库离线和在线

Take SQL Database Offline And Online

发布-日期: 2016年02月26日 (评论)

#

Contents

中文

这是一些使数据库脱机,然后再次联机的快速SQL逻辑。它对维护参考很有帮助。

English

Here’s some quick SQL logic that will take the database offline, then online again. It’s helpful for maintenance reference.


Logic (Take SQL Databases Offline)

use master;
set nocount on
 
-- check if database is online.  if so proceed to take offline.  if not; do nothing.
--检查数据库是否在线。如果在线,设置为离线。如果离线,什么都不用做。
if exists(select state_desc from sys.databases where name = 'MyDatabase' and state_desc = 'online')
    begin
        alter database [MyDatabase] set offline with rollback immediate;
    end
    else
        print 'The database is already offline. No changes will be made';
 
-- confirm the database is OFFLINE.
--确认数据库处于脱机状态。
select
    'server_name'       = upper(@@servername)
,   'database_name'     = upper(name)
,   'is_offline'        = state_desc
from
    sys.databases
where
    name = 'MyDatabase';
 
-- set database online
--设置数据库联机

alter database [MyDatabase] set online;
 
-- confirm the database is ONLINE.
--确认数据库已联机。
select
    'server_name'       = upper(@@servername)
,   'database_name'     = upper(name)
,   'is_offline'        = state_desc
from
    sys.databases
where
    name = 'MyDatabase';



Logic (Take SQL Databases Online)

use master;
set nocount on
 
-- check if database is online.  if so proceed to take offline.  if not; do nothing.
--检查数据库是否在线。如果在线,设置为离线。如果离线,什么都不用做。
if exists(select state_desc from sys.databases where name = 'MyDatabase' and state_desc = 'online')
    begin
        alter database [MyDatabase] set offline with rollback immediate;
    end
    else
        print 'The database is already offline. No changes will be made';
 
-- confirm the database is OFFLINE.
--确认数据库处于脱机状态。
select
    'server_name'       = upper(@@servername)
,   'database_name'     = upper(name)
,   'is_offline'        = state_desc
from
    sys.databases
where
    name = 'MyDatabase';
 
-- set database online
--设置数据库联机
alter database [MyDatabase] set online;
 
-- confirm the database is ONLINE.
--确认数据库已联机。
select
    'server_name'       = upper(@@servername)
,   'database_name'     = upper(name)
,   'is_offline'        = state_desc
from
    sys.databases
where
    name = 'MyDatabase';

WorksEveryTime

Build-Info

Build Quality Build History
Build-Status
Coverage
Nuget
Build history

Author

  • 李聪明的数据库 Lee's Clever Data
  • Mike的数据库宝典 Mikes Database Collection
  • 李聪明的数据库 "Lee Songming"

Gist Twitter Wordpress


License

LicenseCCSA

Lee Songming

About

使数据库离线和在线