常见数据库错误
1、附加数据库失败,错误5120
方法一:将要附加的文件拷贝到windowsserver2012四个版本SQL Server默认的Data目录,即C:\ProgramFiles\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA,此时附加就会成功。
方法二:在登陆验证时,选择“Windows身份验证”,而不是“SQL Server身份验证”。方法三:更改MDFLDF文件设置为完全控制。
方法四:如果一定要使用"SQL Server身份验证",请更改登录帐号的权限,使其对要附加文件有完全操作权限,将SQL Server服务的账户登录身份有Network Service改为Local Service
2、数据库附加失败,错误950
   
附加数据库的版本是SQL Server2005的,如果使用的是SQL Server2012SQL Server2012对于SQL Server2008是兼容的,但是不兼容SQL Server2005
        解决办法:将SQL Server2005的数据库用SQL Server2008附加一下,重新生成脚本,这样SQL Server2012就可以附加了。
3.数据库还原错误
解决思路:
删除连在上面的进程,回滚未提交的事务,然后还原。
步骤
1.查询要还原的数据库ID
Select * from master..sysdatabases where name = '';
2.获取该数据库的进程
Select * from sys.sysprocesses a where a.dbid = '';
3.杀掉连接在上面的进程
Kill @spid;
此时去还原一般就可以了。但是今天的问题比较麻烦一点,删完进程马上有新的进程连进来,导致一直失败。分析了下,是还有应用程序一直尝试连进来的。一开始想到的办法是暂时断掉与应用的网络,后来想到另一个更简单的办法,使用数据库的单用户模式。尝试了下,可以在单用户下还原。
设置方式:选中要还原的数据库-->属性-->选项-->限制访问
该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式
这是GUI的模式,语句的办法比较简单
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE; 
GO
当然了,设置单用户数据库必须要超级用户

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。