【发布时间】:2010-07-13 16:59:21
【问题描述】:
我想使用 Linq to SQL 备份我的数据库:
Dim sql As String = "BACKUP DATABASE SeaCowDatabase TO DISK = _
'" + sfd.FileName + "'"
db.ExecuteCommand(sql)
但是,我得到了这个错误:
System.Data.SqlClient.SqlException (0x80131904):无法在 sysdatabases 中找到数据库“SeaCowDatabase”的条目。未找到具有该名称的条目。确保输入的名称正确。 BACKUP DATABASE 异常终止。 在 System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔 breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(字符串方法名,布尔异步) 在 System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult 结果,字符串方法名,布尔型 sendToPipe) 在 System.Data.SqlClient.SqlCommand.ExecuteNonQuery() 在 System.Data.Linq.SqlClient.SqlProvider.Execute(表达式查询,QueryInfo queryInfo,IObjectReaderFactory 工厂,Object[] parentArgs,Object[] userArgs,ICompiledSubQuery[] subQueries,Object lastResult) 在 System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(表达式查询,QueryInfo[] queryInfos,IObjectReaderFactory 工厂,Object[] userArguments,ICompiledSubQuery[] subQueries) 在 System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(表达式查询) 在 System.Data.Linq.DataContext.ExecuteCommand(字符串命令,对象 [] 参数) 在 C:\Users\Daniel\My Programs\Visual Basic\SeaCow\SeaCow\SeaCow\Main.vb:line 595 中的 SeaCow.Main.Ribbon_Save_Click(Object sender, EventArgs e)
大家有什么建议吗?
【问题讨论】:
-
这可能是权限问题。我会先验证您是否可以从您的程序中访问数据库。
-
我可以使用我的程序访问数据库。
-
下一个问题是为什么你会使用 .net 来备份数据库。这可以是 sql 框甚至 sproc 上的作业。让数据库处理数据。
标签: sql database vb.net backup sqlexception