sql server 2008 R2 附加数据库错误(5123)

 转自:
 
备注:解决问题,我本人使用方法三。
 
SQL Server 2008 附加数据库错误(5123)
2011年02月26日 星期六 10:47 A.M.

 在Attach一个以前的数据库(没有在SqlServer初始安装的目录下)的时候,老是附加不上,总是出现5123的错误代码,如图:

一开始以为是SqlServer2008不兼容原来的数据库所致,在网上找了好大半天,都不行,一开始输出现得是5120错误,但是改了权限后出现了5123错误,这两种错误都是权限错误,并不是什么文件只读等等什么的。

因为这个数据库是不知道当时是那个版本创建的,在官方看了一下,解释说权限不对,应该把这个数据库放到SqlServer安装的目录下,也就是C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data,果然解决问题;不过总不能每次都把数据库放到这个目录下啊!所以又寻找了其他的解决方案;

第一种解决方案:就是刚才的方法,把这个文件放到SqlServer默认位置下,不过最好不要放在C盘,万一那天重装系统,就玩完了,哈哈;

第二种解决方案:就是更改Sqlserver实列的默认数据库文件夹,选中Sqlserver实例,右击属性,在左边有个“数据库设置”,点开后,有个“数据库默认位置”,把这个设置成自己的目录就可以了。

第三种解决方案:就是更改这个数据库所在文件夹的权限,添加一个EveryOne的用户,设置成”full control”,就可以了,这个方案即直接又方便;

第四种:

按一下方式修改你的SQL的MDF和LDF属性就可以了,选择你的文件(两种文件均要修改为一样的权限)

MDF文件:文件右键>>属性>>安全>>编辑>>添加>>高级>>立即查找>>在搜索结果中选择:Authenticated Users>>确定>>确定>>确定>>MDF文件属性对话框>>在组或用户名列表框中选择:Authenticated Users>>高级>>更改权限>>编辑>>选中“安全控制”>>确定>>确定>>确定>>确定。OK这是MDF的权限就分配完成了!

LDF文件的权限和MDF文件的权限控制一样,按照上面的步骤进行就行了!

如果有其他的附加错误,应该也是权限的问题,只要修改文件的权限就行了,多试试就完事OK!

 

如果有更好的解决方法,come on.一起交流~!

### 回答1: 附加数据库是指将一个已经存在的数据库文件(.mdf和.ldf文件)添加到SQL Server实例中,使其成为可用的数据库。在SQL Server 2008 R2中,可以通过以下步骤来附加数据库: 1. 打开SQL Server Management Studio,连接到SQL Server实例。 2. 在“对象资源管理器”中,右键单击“数据库”,选择“附加”。 3. 在“附加数据库”对话框中,点击“添加”按钮,选择要附加数据库文件(.mdf和.ldf文件)。 4. 确认数据库文件路径和名称,可以选择更改数据库名称和文件路径。 5. 点击“确定”按钮,等待附加完成。 6. 附加完成后,在“对象资源管理器”中可以看到新附加数据库。 ### 回答2: SQL Server 2008 R2附加数据库是指将一个已经存在的数据库文件添加到SQL Server实例中,使其成为该实例的一个数据库。该过程可以在SQL Server Management Studio中完成,也可以使用T-SQL语句进行操作。 在附加数据库之前,需要注意以下几点: 1. 确保附加数据库文件是从同一个SQL Server版本中导出的,否则可能会出现版本不兼容的问题。 2. 确保要附加数据库文件与SQL Server实例的权限相匹配。例如,如果附加数据库文件是从另一个实例中导出的,那么可能需要在目标实例中创建一个与该导出实例相同的登录账户。 3. 确保目标实例的磁盘空间足够,以容纳附加数据库文件和其日志文件。 完成上述准备工作后,可以开始附加数据库的操作。具体步骤如下: 1. 打开SQL Server Management Studio,连接到目标实例。 2. 在“对象资源管理器”中选择“数据库”,右键单击空白区域,选择“附加”。 3. 在“附加数据库”对话框中选择“添加”按钮,浏览并选择要附加数据库文件。 4. 输入要给附加数据库取的名称以及数据文件和日志文件的路径。如果数据文件和日志文件的路径与导出时不同,需要修改路径。 5. 点击“确定”按钮,系统将会检查附加数据库文件是否有效,如果没有错误提示,就会自动附加数据库到目标实例。 完成上述步骤后,就可以在目标实例中使用刚加入的数据库了,可以对其进行备份、还原和维护等操作。值得注意的是,附加数据库只会将该数据库文件复制到目标实例中,不会自动在系统中创建与之匹配的登录账户,需要在后续的操作中进行设置。同时,附加数据库并不会删除导出时在源实例中的数据库,需要手动进行删除。 ### 回答3: SQL Server是一款基于关系型数据库管理系统的软件,它可以让用户创建、操作、管理和维护数据库。当需要创建新的数据库时,可以使用SQL Server附加数据库功能。 SQL Server附加数据库是一种将已有的数据库文件添加到SQL Server实例中并让其成为可用数据库的过程。通常,数据库文件包括MDF(主数据文件)和LDF(事务日志文件)两种类型。通过附加数据库的功能,可以将这些文件添加到SQL Server实例中,并且可以使用SQL Server Management Studio (SSMS)等工具来访问和管理这些数据库。 要附加一个数据库,首先需要在SQL Server Management Studio中连接到SQL Server实例。连接成功后,在对象资源管理器中右键单击“数据库”节点,然后选择“附加”选项。在弹出的对话框中,需要选择要附加数据库文件,并确定要使用的数据库名称和文件路径。如果要更新数据文件版本号,则需要勾选“更新版本”选项。附加完成后,可以在对象资源管理器中看到新的数据库并对其进行操作和管理。 除了SQL Server Management Studio之外,还可以使用T-SQL命令来附加数据库。具体步骤是使用USE语句指定要附加数据库名称,然后使用ALTER DATABASE语句来指定MDF和LDF文件的路径。例如: USE master; GO ALTER DATABASE AdventureWorks2012 SET SINGLE_USER WITH ROLLBACK IMMEDIATE; GO EXEC sp_attach_db @dbname = N'AdventureWorks2012', @filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INSTANCE1\MSSQL\DATA\AdventureWorks2012_Data.mdf', @filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.INSTANCE1\MSSQL\DATA\AdventureWorks2012_Log.ldf'; GO 总之,SQL Server附加数据库功能让用户可以方便地将已有的数据库文件添加到SQL Server实例中,以便使用和管理。无论是使用SQL Server Management Studio还是T-SQL命令,都可以完成该过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值