數(shù)據(jù)庫:使用sql維護數(shù)據(jù)庫(SQLSERVER)

字號:

一、備份數(shù)據(jù)庫 backup database
    backup database database_name
    to
    [with [differential][[,]Format|Noformat][[,]{Init|Noinit}]
    ~:::=……
    {{Disk|Tape}=’physical_backup_device_name’}
    eg:backup database db_ora to disk=’d:\backdbname’
    二、還原數(shù)據(jù)庫 restore database
    restore database database_name
    [From [,...n]]
    [with [File = file_name]]
    eg:restore database db_ora to disk=’d:\backdbname’
    在進行數(shù)據(jù)庫還原時,要保證當前沒有用戶訪問要還原的數(shù)據(jù)庫,考試,大提示會導致還原操作失敗
    三、附加數(shù)據(jù)庫 sp_attach_db
    sp_attach_db [@dbname] ’dbname’,
    [@fileName1 = ] ’fileName_n’ [,...]
    返回值0(成功)或1(失?。?BR>    只有sysadmin和dbcreator固定服務(wù)器角色的成員才能執(zhí)行本過程
    四、分離數(shù)據(jù)庫 sp_detach_db
    sp_detach_db [@dbname] ’dbname’
    [,[@skipchecks = ] ’skipchecks’]
    返回值0(成功)或1(失?。?BR>    只有sysadmin固定服務(wù)器角色的成員才能執(zhí)行本過程
    遠程備份sql數(shù)據(jù)庫到本機<轉(zhuǎn)>
    條件:
    擁有sa權(quán)限
    開啟 xp_cmdshell
    方法:
    開啟/關(guān)閉 xp_cmdshell 必須在 master 庫執(zhí)行
    EXEC sp_configure ’show advanced options’, 1
    RECONFIGURE WITH OVERRIDE
    EXEC sp_configure ’xp_cmdshell’, 1
    RECONFIGURE WITH OVERRIDE
    EXEC sp_configure ’show advanced options’, 0
    RECONFIGURE WITH OVERRIDE
    --啟用xp_cmdshell
    EXEC sp_configure ’show advanced options’, 1
    RECONFIGURE WITH OVERRIDE
    EXEC sp_configure ’xp_cmdshell’, 0
    RECONFIGURE WITH OVERRIDE
    EXEC sp_configure ’show advanced options’, 0
    RECONFIGURE WITH OVERRIDE
    --關(guān)閉xp_cmdshell
    本地開啟一個共享文件夾 e.g. document
    執(zhí)行語句 --以下在要本分庫執(zhí)行
    backup database dbname to disk= ’d:\backdbname.bak ’ with init,password= ’’
    exec xp_cmdshell ’net use z: \\192.168.36.38\document " " /user:des-dev3\rfq ’
    exec xp_cmdshell ’copy d:\backdbname.bak z:\’
    exec xp_cmdshell ’net use z: /delete ’
    原理:通過sql指令在服務(wù)器建立一個網(wǎng)絡(luò)磁盤 指向 本機共享文件夾 服務(wù)器備份數(shù)據(jù)庫到服務(wù)器一目錄。通過sql 指令copy 備份文件到網(wǎng)絡(luò)磁盤 刪除網(wǎng)絡(luò)磁盤。