我之前也附加不进去,事实上数据库附加,window系统中有个权限控制的,要改你要附加的数据库文件还有数据库日志文件的权限。具体做法是:
首先右键单击你的MDF文件,然后进入属性界面;
在安全选项卡中,你会看到如下图的提示,上面有个完全控制,附加不上去的数据库,完全控制是没有打勾的。然后选中你登录数据库使用windows验证的那个用户名,点击编辑,将完全控制选项勾上,然后应用,确定。就行了。我之前因为学习多维数据库的时候下载了一个源库,结果不能附加,这样弄一下就好了。另外提醒楼主,你要是在远程服务器上附加数据库的话,一定是移动到远程上,用远程的windows验证的那个登录名获取完全控制,否则你移动过去后还是不能附加的。
这个提示是因为你附加的是高版本的
数据库文件
(比如SQL
Server
2005的
数据文件
),低版本数据库是不兼容高版本数据库的。如果真是2005的数据文件,需要附加到SQL
Server
2005数据库中,然后生成2000的脚本,在2000中执行。
1
右键需要附加的数据库文件,d出属性对话框,选择安全标签页。
找到Authenticated Users用户名。
如未找到,进行Authenticated Users用户名的添加。
2
添加Authenticated Users用户名。
21点击安全标签页的编辑按钮,而后点击添加显示选择用户或组对话框。
22点击高级按钮而后点击该界面的立即查找,在搜索结果中显示了所有的用户和组。
23选择Authenticated Users用户后点击确定,在 选择用户或组对话框 中便显示了Authenticated Users用户名。
24点击确定
3
在安全标签页的用户组里面便显示了Authenticated Users用户。为Authenticated Users用户分配 完全控制 权限。
4
而后再次附加数据库,附加数据库成功。
先把原库文件备份一份,然后
在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!
在其他机器上,用这个试试:
1设置数据库为紧急模式
Use Master
GO
sp_configure 'allow updates', 1
reconfigure with override
GO
UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'
GO
2停掉SQL Server服务:
NET STOP MSSQLSERVER
3把原始数据库的数据文件DBNAME_DATMDF,DBNAME_LOGLDF移走:
4启动SQL Server服务:
NET START MSSQLSERVER
5重新建立一个同名的数据库DB_SUSPECT;
USE master
GO
CREATE DATABASE DB_SUSPECT
ON
( NAME = DBNAME_DAT,
FILENAME = 'C:',
SIZE = 10,
FILEGROWTH = 5 )
LOG ON
( NAME = 'DBNAME_LOG',
FILENAME = 'g:',
SIZE = 5MB,
FILEGROWTH = 5MB )
GO
6设置数据库运行在单用户的模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET SINGLE_USER
GO
7停掉SQL服务:
NET STOP MSSQLSERVER
8把原来的数据文件再覆盖回来:
9启动SQL Server服务:
NET START MSSQLSERVER
10重新设置SQLSERVER的状态:
USE MASTER
GO
EXEC sp_resetstatus "DB_SUSPECT"
11数据库完整性检测:
DBCC CHECKDB('DB_SUSPECT')
12恢复数据库为多用户模式:
USE MASTER
GO
ALTER DATABASE DB_SUSPECT SET MULTI_USER
GO
13恢复SQLSERVER原始的配置:
USE MATER
GO
UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'
GO
14配置SQLSERVER不允许更新系统表:
USE MASTER
GO
sp_configure 'allow updates', 0
reconfigure with override
GO
15重新启动MSSQLSERVER服务:
最好重新启动 *** 作系统
16备份数据库:
可以通过SQLSERVER企业管理器或T-SQL需要备份MASTER和DB_SUSPECT
以上就是关于sql server2012 附加数据库报错全部的内容,包括:sql server2012 附加数据库报错、SQL 2000 附加数据库提示错误,提示如下:、sql server附加数据库报错等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)