SQL Server因為數據庫正在使用,所以無法獲得對數據庫的獨占訪問權


恢復數據庫:

恢復數據庫之前,先執行下面這句話
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 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM