恢復數據庫:
恢復數據庫之前,先執行下面這句話 ALTER DATABASE [mpn_stat] SET OFFLINE WITH ROLLBACK IMMEDIATE 執行恢復數據庫SQL語句 RESTORE DATABASE mpn_stat FROM DISK = N'F:\SQL\mpn_stat.bak' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10 GO 恢復數據庫之后,先執行下面這句話 ALTER database [mpn_stat] set online
備份數據庫:
BACKUP DATABASE [mpn_msg] TO DISK = N'D:\mpn_msg.bak' WITH NOFORMAT, NOINIT, NAME = N'mpn_crm-完整 數據庫 備份', SKIP, NOREWIND, NOUNLOAD, STATS = 10 GO use [mpn_msg] sp_spaceused
統計數據庫表記錄數和占用空間
use [mpn_stat]
GO
set nocount on exec sp_MSForEachTable @precommand=N' create table ##( id int identity, 表名 sysname, 字段數 int, 記錄數 int, 保留空間 varchar(20), 使用空間 varchar(20), 索引使用空間 varchar(20), 未用空間 varchar(20))', @command1=N'insert ##(表名,記錄數,保留空間,使用空間,索引使用空間,未用空間) exec sp_spaceused ''?'' update ## set 字段數=(select count(*) from syscolumns where id=object_id(''?'')) where id=scope_identity()', @postcommand=N'select 表名,記錄數,replace(保留空間,''KB'','''')/1024 已經分配空間MB,replace(使用空間,''KB'','''')/1024 數據使用空間MB ,replace(索引使用空間,''KB'','''')/1024 索引使用空間MB,replace(未用空間,''KB'','''')/1024 未用空間MB from ## order by 記錄數 desc drop table ##' set nocount off
導出數據表到文件
use [mpn_chat] select NAME, 'EXEC master .. xp_cmdshell ''bcp mpn_crm.dbo.'+NAME +' OUT d:\CHAT\'+NAME+'.txt -c -t"@~@#$" -r"\n" -T -S MDBJ1001\MSSQLSERVER_1 -U"sa" -P"密碼" -E''' from sys.tables order by 1