附加SQL2005案例数据库AdventureWorksDB出错 果然是路径的问题 ,放在D盘根目录就OK了,谢谢以上两位大虾。不过附加后这个数据库显示的是“只读”,不知怎么修改成可读的,请各位支招.万分感谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ALTER DATABASE 数据库名SET READ_WRITE --这是2005的方法,如果不行,试试改成READWRITE 执行后出现如下异常,修改失败..-------------------------------------------------------------ALTER DATABASE AdventureWorksSET READ_WRITE 消息 5120,级别 16,状态 101,第 2 行无法打开物理文件 "D:\AData.mdf"。操作系统错误 5:"5(拒绝访问。)"。消息 5120,级别 16,状态 101,第 2 行无法打开物理文件 "D:\A_Log.ldf"。操作系统错误 5:"5(拒绝访问。)"。文件激活失败。物理文件名称'D:\A_Log.ldf'可能不正确。消息 945,级别 14,状态 2,第 2 行由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'AdventureWorks'。有关详细信息,请参阅 SQL Server 错误日志。消息 5069,级别 16,状态 1,第 2 行ALTER DATABASE 语句失败。 那是因为本身的MDF和LDF文件的只读属性已经被选上了,你到操作系统磁盘下去把该属性去掉,再执行语句.当然了,你本身账号是要有权限去修改操作系统文件属性的. 检查发现我的磁盘中,MDF和LDF文件的只读属性并没有选中,但是在该数据库“属性”--“选项”---“数据库状态”中显示:是否只读:true ,我试图修改又报错。请各位高手继续支持, 可以加分。异常如下:===================================更改 对于 数据库“AdventureWorks”失败。 (Microsoft.SqlServer.Smo)------------------------------有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476------------------------------程序位置: 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImpl() 在 Microsoft.SqlServer.Management.Smo.Database.Alter(TerminationClause terminationClause) 在 Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabaseData.DatabasePrototype.ApplyChanges(Control marshallingControl) 在 Microsoft.SqlServer.Management.SqlManagerUI.DBPropSheet.DoPreProcessExecution(RunType runType, ExecutionMode& executionResult) 在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.DoPreProcessExecutionAndRunViews(RunType runType) 在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.ExecuteForSql(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult) 在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.Microsoft.SqlServer.Management.SqlMgmt.IExecutionAwareSqlControlCollection.PreProcessExecution(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult) 在 Microsoft.SqlServer.Management.SqlMgmt.ViewSwitcherControlsManager.RunNow(RunType runType, Object sender)===================================执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------程序位置: 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType) 在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries) 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext) 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImplFinish(StringCollection alterQuery, ScriptingOptions so) 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImplWorker() 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImpl()===================================无法打开物理文件 "D:\AData.mdf"。操作系统错误 5:"5(拒绝访问。)"。无法打开物理文件 "D:\A_Log.ldf"。操作系统错误 5:"5(拒绝访问。)"。由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'AdventureWorks'。有关详细信息,请参阅 SQL Server 错误日志。ALTER DATABASE 语句失败。文件激活失败。物理文件名称'D:\A_Log.ldf'可能不正确。 (.Net SqlClient Data Provider)------------------------------有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476------------------------------服务器名称: GUOGUO\SQLEXPRESS错误号: 5120严重性: 16状态: 101行号: 1------------------------------程序位置: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType) 估计你用的是Express版本吧,检查你的服务启动用户是不是AUTHORITY\NetworkService你把启动用户改为本地系统用户,然后再修改看看,记得重启服务如果不行,再次重新附加后再修改。 求一sql,表更新 我的数据库打不开了,重装可以解决吗? SQl两整数字段,计算百分比问题?急求!感谢v update 操作是先delete再insert嗎? 数据导入(DTS) 查询的时候列名居然区分大小写啦 查询的时候调用同一数据库的不同的表 在SQL的表中输入数据时出错"键列信息不错或不正确,更新影响到多行". bulk insert 失效? 一个查询的问题怎么写 大家帮忙看看这个SQL语句的意思 Excel工作表表名中存在空格造成无法正常导入
ALTER DATABASE 数据库名
SET READ_WRITE --这是2005的方法,如果不行,试试改成READWRITE
执行后出现如下异常,修改失败..
-------------------------------------------------------------ALTER DATABASE AdventureWorks
SET READ_WRITE 消息 5120,级别 16,状态 101,第 2 行
无法打开物理文件 "D:\AData.mdf"。操作系统错误 5:"5(拒绝访问。)"。
消息 5120,级别 16,状态 101,第 2 行
无法打开物理文件 "D:\A_Log.ldf"。操作系统错误 5:"5(拒绝访问。)"。
文件激活失败。物理文件名称'D:\A_Log.ldf'可能不正确。
消息 945,级别 14,状态 2,第 2 行
由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'AdventureWorks'。有关详细信息,请参阅 SQL Server 错误日志。
消息 5069,级别 16,状态 1,第 2 行
ALTER DATABASE 语句失败。
当然了,你本身账号是要有权限去修改操作系统文件属性的.
检查发现我的磁盘中,MDF和LDF文件的只读属性并没有选中,但是在该数据库“属性”--“选项”---“数据库状态”中显示:是否只读:true ,我试图修改又报错。请各位高手继续支持, 可以加分。异常如下:===================================更改 对于 数据库“AdventureWorks”失败。 (Microsoft.SqlServer.Smo)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=更改+Database&LinkId=20476------------------------------
程序位置: 在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImpl()
在 Microsoft.SqlServer.Management.Smo.Database.Alter(TerminationClause terminationClause)
在 Microsoft.SqlServer.Management.SqlManagerUI.CreateDatabaseData.DatabasePrototype.ApplyChanges(Control marshallingControl)
在 Microsoft.SqlServer.Management.SqlManagerUI.DBPropSheet.DoPreProcessExecution(RunType runType, ExecutionMode& executionResult)
在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.DoPreProcessExecutionAndRunViews(RunType runType)
在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.ExecuteForSql(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult)
在 Microsoft.SqlServer.Management.SqlMgmt.SqlMgmtTreeViewControl.Microsoft.SqlServer.Management.SqlMgmt.IExecutionAwareSqlControlCollection.PreProcessExecution(PreProcessExecutionInfo executionInfo, ExecutionMode& executionResult)
在 Microsoft.SqlServer.Management.SqlMgmt.ViewSwitcherControlsManager.RunNow(RunType runType, Object sender)===================================执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)------------------------------
程序位置: 在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)
在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.ExecuteNonQuery(StringCollection queries, Boolean includeDbContext)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImplFinish(StringCollection alterQuery, ScriptingOptions so)
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImplWorker()
在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.AlterImpl()===================================无法打开物理文件 "D:\AData.mdf"。操作系统错误 5:"5(拒绝访问。)"。
无法打开物理文件 "D:\A_Log.ldf"。操作系统错误 5:"5(拒绝访问。)"。
由于文件不可访问,或者内存或磁盘空间不足,所以无法打开数据库 'AdventureWorks'。有关详细信息,请参阅 SQL Server 错误日志。
ALTER DATABASE 语句失败。
文件激活失败。物理文件名称'D:\A_Log.ldf'可能不正确。 (.Net SqlClient Data Provider)------------------------------
有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476------------------------------
服务器名称: GUOGUO\SQLEXPRESS
错误号: 5120
严重性: 16
状态: 101
行号: 1
------------------------------
程序位置: 在 System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async)
在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)
你把启动用户改为本地系统用户,然后再修改看看,记得重启服务如果不行,再次重新附加后再修改。