SQL Server附加数据库(操作系统错误 5:“5(拒绝访问。)”)

SQL Server 2012中数据库附加的问题:

1、问题出现场景:(已知,可能包含我并不知道的因素,所以我没有办法保证按照以下条件设置后,一定会再现提示的错误)

(1)原数据库主文件(.mdf)存放在fat32分区;

(2)将要附加文件文件从fat32分区拷贝到NTFS格式的分区的指定目录中;

(3)附加文件;

2、错误提示描述:

(1)错误现象图片


(2)错误现象描述

标题: Microsoft SQL Server Management Studio
------------------------------

附加数据库 对于 服务器“JZT-PC\MYSQLSERVER2012”失败。  (Microsoft.SqlServer.Smo)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476

------------------------------
其他信息:

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

无法打开物理文件“D:\MyData\AdventureWorks2012_Data.mdf”。操作系统错误 5:“5(拒绝访问。)”。 (Microsoft SQL Server,错误: 5120)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&ProdVer=11.00.2100&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476

------------------------------
按钮:

确定
------------------------------

3、错误解决:

(1)根据给出错误提示“.mdf文件拒绝访问”,初步判断是权限问题;

(2)在附加文件目录下找到.mdf文件,点击右键,查看“属性”,如下图进行操作:


(3)重新到management studio中进行附加操作:


仍然会有错误提示给出,但是注意观察,这次提示的内容已经不再是.mdf文件,而是.ldf文件,所以对.ldf文件进行同.mdf一样的处理。(步骤同第2步)

(4)再附加,不再提示错误,最终效果如下图:


可以看到一个新的数据库已经添加,名称对应的就是我们那个主数据文件的名称。


注意:

1、以上情况在fat32的分区上附加文件,不会出现问题;在fat32分区上的数据文件,只要按照“附加”向导提示的一步一步进行,可以很顺利的附加数据库文件;


2、有关ntfs和fat32文件系统区别的相关信息的链接:

(1) http://wiki.answers.com/Q/What_is_the_difference_between_NTFS_and_FAT32

A computer filing system is how your computer manages the information that is stored on its hard drive. The most common Windows filing systems are the FAT16, FAT32 and the NTFS filing systems. The FAT32 is the universally standard system because can be used by more versions of Windows than the others.
FAT32 filing system is the system used on older Microsoft Windows systems including Windows 95, Windows 98 and Windows Me. The name FAT32 describes how data is stored on the hard drive, in 32 bit chunks. A FAT32 filing system can be installed,
but is not recommended, on Windows 2000, Windows XP and Windows 2003. The FAT 32 filing system is superior to the older FAT16 system in that it supports disk partitions as large as two terabytes (2,048 gigabytes), whereas FAT16 only supports two gigabytes. However, FAT 32 also has limitations. The FAT32 system does not allow disk
compression using DriveSpace, it is not compatible with older disk management software and it runs a bit slower that FAT 16.
While the Windows XP, 2000 and 2003 can support the FAT32 system, it is recommended they run an NTFS (new technology file system) because it is a can handle more functions that the FAT32, including the capacity to support Unicode file names, proper security, compression and encryption. The NTFS system is supported by the windows nt, 2000, XP and Vista and 7, and is able to handle much more memory than either the FAT16 or FAT32 systems. The NTFS also allows computers to more efficiently use the space available to store information on their hard drive, provides a better system of cataloging files on your hard drive for better and faster retrieval, and provides better methods for executing basic file operations such as delete, copy and rename.

(2)http://msdn.microsoft.com/zh-cn/library/windows/desktop/ee681827.aspx#functionality

(3)http://msdn.microsoft.com/zh-cn/library/windows/desktop/bb540531.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答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、付费专栏及课程。

余额充值