SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

原文:SQL点滴7—使用SQL Server的attach功能出现错误及解决方法

今天用SQL Server 2008的attach功能附加一个数据库,出了点问题,提示的错误是:

Unable to open physical file "D:\Documents\Dalt\XXXX.mdf" Operating system error 5: "5(error not found)" (Microsoft SQL Server: Error 5120)".

记得以前做过类似的操作没有出现什么问题的,不知道为什么会这样,没办法在网上找解决方法,

http://social.msdn.microsoft.com/Forums/en/sqldatabaseengine/thread/9e563890-e35f-4524-82b9-3cca08fec5ed

msdn论坛里说需要给.mdf,.ldf文件添加一个用户权限,运行下面的语句查找这个权限的名称

1 declare @sqlser varchar(20) 2 EXEC master..xp_regread @rootkey=‘HKEY_LOCAL_MACHINE‘, @key=‘SYSTEM\CurrentControlSet\Services\MSSQLSERVER‘, 3 @value_name=‘objectname‘, @value=@sqlser OUTPUT 4 PRINT ‘Account Starting SQL Server Service:‘ +convert(varchar(30),@sqlser) 

在我的机器上得到的结果是:Account Starting SQL Server Service:LocalSystem,然后右击包含.mdf,.ldf文件的文件夹,切换到Security界面,添加LocalSystem用户。在这里我始终找不到这个用户,如下图

不过这里有一些用户如:User(PRCHAZ01210\User),Administrator(PRCHAZ01210\User),我给后者添加了Full control权限,再尝试attach, 没想到还成功了,也不知道上面的那个语句查出来的什么信息,等有时间再看看。

时间: 2024-10-11 11:57:25

SQL点滴7—使用SQL Server的attach功能出现错误及解决方法的相关文章

ORA-06502: PL/SQL: numeric or value error: character to number conversion error 错误的解决方法

故障描述:中间层调用存储过程报错,到PL/SQL中对存储过程进行调试报以下错误 ORA-06502: PL/SQL: numeric or value error: character to number conversion errorORA-06512: at "PROCESS_DRUG_SAME_AS_INFO", line 24ORA-06512: at line 1 错误原因: 找到存储过程PROCESS_DRUG_SAME_AS_INFO,并将代码定位在24行,发现代码中两

SQL点滴15—在SQL Server 2008中调用C#程序

原文:SQL点滴15-在SQL Server 2008中调用C#程序 T-SQL的在执行普通的查询的时候是很高效的,但是在执行循环,判断这样的语句的时候效率就不那么的高了.这时可以借助CLR了,我们可以在SQL Server 2008中扩展C#程序来完成循环等过程式的查询,或者其他SQL不便实现的功能.这个随笔中将介绍在SQL Server中扩展C#程序实现正则表达式的替换功能. 新建一个类库程序命名为Regex,打开Visual Studio 2008,点击File,点击New,点击Proje

SQL SERVER出现大量一致性错误的解决方法

如果DBCC CHECKDB发现了比较少的一致性错误,可以使用   DBCC UPDATEUSAGE(DatabaseName,"dbo.ObjectName"); 语句逐个针对表或索引中的每个分区更正行.已用页.保留页.叶级页和数据页的计数.但是如果数据库出现大量一致性错误.例如如下所示: DBCC results for 'JO_T_CUTXX'. 消息 2508,级别 16,状态 1,第 1 行 The In-row data USED page count for object

(转) SQL Server中 ldf 文件过大的解决方法

原文地址:http://blog.itpub.net/35489/viewspace-616459/ 在SQL Server中经常遇到事务日志变大的情况,除了将数据库设置为“自动收缩”外,还可以使用下面的SQL命令进行快速清除数据库中的事务日志,命令如下:  - 第一步:清空日志  DUMP TRANSACTION   databasename   WITH   NO_LOG  -- 第二步:截断事务日志  BACKUP LOG   databasename   WITH   NO_LOG  -

SQL SERVER 2005 登陆18456错误的解决方法

昨天我的SQL(Microsoft SQL Server 2005 )登录不上去了,原来是出现了几个小问题,现在记录一下我的解决这几个情况的办法.(解决方法有很多种,这些只是我的解决方法,仅供参考)查找问题的过程:(注:用windows账号还是可以登录的)第一步: 启动所有与SQL有关的服务,问题依旧:第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled两个提示"由于安全考虑,某些设置由组策略控制""Windows防火墙正在使用您的域设置"

连接mysql报错java.sql.SQLException: The server time zone value '?й???????' is unrecognized...解决方法

报错内容: java.sql.SQLException: The server time zone value '?й???????' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time

SQL Server不能通过外部IP访问,解决方法

SQL Server不能通过外部IP访问,解决方法 版本:SQL server 2017 express with tools 打开配置管理器,开启 TCP,右键属性设置TCP端口: 设置节点: IP1 外部IP/服务器内网IP,比如我的用了192.168.3.101,若要外部访问则一定要用外网IP,并设置端口为1433 IP4 127.0.0.1,并设置端口为1433 IPALL,设置端口为1433 以下为截图: PS:另外配置更改保存后,一定要重启数据库服务器. 原文地址:https://w

创建SQL作业错误的解决方法(不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs';列不允许有空值。)

在用SQL语句创建SQL Server作业时有时出现如下错误: 消息 515,级别 16,状态 2,过程 sp_add_job,第 137 行 不能将值 NULL 插入列 'owner_sid',表 'msdb.dbo.sysjobs':列不允许有空值.INSERT 失败. 语句已终止. 这可能与为作业创建的数据库登录ID有关,这个登录ID需要是数据库的所有者(我的是sa),因此将 @owner_login_name=N'HYSERITC003/wellcomm', 中的N'HYSERITC00

关于spring4和hibernate4整合,配置事务报“Cannot unwrap to requested type [javax.sql.DataSource]”错误的解决方法及心得

Cannot unwrap to requested type [javax.sql.DataSource] 配置hibernate4和spring4时,出现错误,解决方法: 1.我去了spring4中的事务配置,数据库可以正常执行并访问.如下: <!-- 配置Hibernate  数据事务 --> <bean id="transactionManager" class="org.springframework.orm.hibernate4.Hibernat