sql server问题集锦【自用】

1、System.Data.SqlClient.SqlError: 无法执行 BACKUP LOG,因为当前没有数据库备份。

解决办法:还原选择中去掉结尾日志就可以了

原文地址:http://tnblog.net/aojiancc2/article/details/188

 

 

2、System.Data.SqlClient.SqlError: 磁盘卷 'C:\' 上的可用空间不足,无法创建数据库。数据库尚需 29015998464 字节的可用空间,但只有 23556284416 字节可用。

 

 我从服务器上备份过来的数据库,还原到本机上就提示空间不足,后来一看,日志文件居然占了10多个G,我的数据库才十几兆。之后从网上找到了收缩日志的方法,挺好用的。

原文地址:https://blog.csdn.net/Sunsame_Wei/article/details/107459716

USE [master]
GO
ALTER DATABASE 库名 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 库名 SET RECOVERY SIMPLE --简单模式
GO
USE 库名
GO
DBCC SHRINKFILE (N'日志文件逻辑名' , 11, TRUNCATEONLY)
GO
USE[master]
GO
ALTER DATABASE 库名 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 库名 SET RECOVERY FULL --还原为完全模式
GO
————————————————
版权声明:本文为CSDN博主「Sunsame_Wei」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Sunsame_Wei/java/article/details/107459716
USE 库名
GO
select * from sysfiles

其中红色圈出来的就是日志文件逻辑名

 

 

3、数据库 'med_hospital' 已打开,并且一次只能有一个用户访问。

 原文地址:https://blog.csdn.net/a497785609/article/details/47781879

USE master; 
GO DECLARE @SQL VARCHAR(MAX); 
SET @SQL='' 
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID) 
FROM master..sysprocesses 
WHERE dbid=DB_ID('库名'); 
EXEC(@SQL); 
GO ALTER DATABASE 库名 SET  MULTI_USER;

 

4、数据库还原失败后,一直提示“正在还原”

restore database datebasename with recovery --datebasename要替换成数据库的名称

以后可能还会继续补充,贴出来的只是简化版,如果遇到相关问题,可点击原文地址,查看详细解决办法。

posted @ 2020-07-28 16:38  闲得无聊敲代码  阅读(646)  评论(0编辑  收藏  举报