完全備份:backup database cpas to disk = 'g:\20210317\bak\cpas_bak_full.bak' with init
use master;
go---宣告變數
declare @dbname nvarchar(max)='cpas1';
declare @dbfullname nvarchar(max)='g:\20210317\bak\cpas2_bak_full.bak';
---備份資料庫
declare @kid varchar(100)
set @kid=''
select @kid=@kid+'kill '+cast(spid as varchar(10)) from master..sysprocesses
where dbid=db_id(@dbname)
print @kid
exec(@kid);
backup database cpas1 to disk=@dbfullname;
備註:--完整備份資料庫
backup database test_bak to disk =
'e:\20181029\bak\test_bak_full.bak'
with init
--差異備份資料庫
backup database test_bak to disk =
'e:\20181029\bak\test_bak_diff.bak'
with init, differential --加上differential代表差異備份
--事務日誌備份
backup log test_bak to disk =
'e:\20181029\bak\test_bak_log.bak'
with init --backup log表示備份事務日誌,backup database表示完整或差異備份
--備份事務日誌,檔名中包含當前時間,適合定時備份
declare @strbackup nvarchar(100)
--改為日期加時間的
set @strbackup =
'e:\20181029\bak\test_bak_log_'
+ replace(replace(replace(convert(varchar, getdate(), 120),
'-'
,
''
),
' '
,
''
),
':'
,
''
) +
'.bak'
backup log test_bak to disk = @strbackup with init;
go
還原:--replace 覆蓋原有資料庫
--recovery 還原資料庫後,資料庫處於正常狀態
--norecovery 還原資料庫後,資料庫處於非正常狀態,等待下一步還原
use master
go---宣告變數
declare @dbname nvarchar(max)='cpas1';
declare @dbfullname nvarchar(max)='g:\20210317\bak\cpas1_bak_full.bak';
--1.1修改為單用模式
exec(n'alter database '+@dbname+' set single_user with rollback immediate');
--1.2結束鏈結程序
declare @kid varchar(max)
set @kid=''
select @kid=@kid+'kill '+cast(spid as varchar(10)) from master..sysprocesses
where dbid=db_id(@dbname) ;
exec(@kid) ;
--2.執行還原語句
restore database @dbname from disk=@dbfullname
with replace --覆蓋現有的資料庫
--3.重置資料庫為多使用者模式
exec(n'alter database '+@dbname+' set multi_user with rollback immediate');
sqlserver 資料庫集群與熱備
ms sql server資料庫伺服器可以說是應用範圍最廣的資料庫產品,並且越來越多地在大型和比較關鍵的應用系統中提供服務。當企業應用越來越複雜 資料量越來越大的時候,sql server資料庫要不停的進行處理 儲存 查詢的工作,這個時候企業就要考慮sql server資料庫伺服器的效能和速度及安全...
cacti 資料庫主備同步指令碼
usr local cacti cacti.sql bin bash user cactiuser password cactiuser database cacti mail babyfenei qq.com 告警通知郵箱 backup dir var www sqlbackup caname c...
查詢SQL Server資料庫所有表字段備註
select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 then isnull f.value,else end,字段序號 a.colorder,欄位名 a.name,字段說明 isnull g...