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要替换成数据库的名称
以后可能还会继续补充,贴出来的只是简化版,如果遇到相关问题,可点击原文地址,查看详细解决办法。