1. 程式人生 > 實用技巧 >sql server問題集錦【自用】

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要替換成資料庫的名稱

以後可能還會繼續補充,貼出來的只是簡化版,如果遇到相關問題,可點選原文地址,檢視詳細解決辦法。