创建sql数据库时出错

时间:2014-11-26 11:46:48

标签: c# sql-server-2012-express

我手动删除了sql数据库文件(myDB.mdf和myDB_log.ldf) 当我想创建具有相同名称的数据库(myDB)时,我收到以下错误消息。

  

System.Data.SqlClient.SqlException(0x80131904):Database' myDB'   已经存在。选择其他数据库名称。

我的代码:

String str;
SqlConnection Conn = new SqlConnection("Server=.\\SQLEXPRESS;Integrated security=true;User Instance=True;database=master");
str = "CREATE DATABASE myDB " + 
      "ON PRIMARY " + "( NAME = N'myDB', FILENAME = N'" + Application.StartupPath + "\\myDB.mdf' , SIZE = 5120KB , FILEGROWTH = 1024KB )" + 
      "LOG ON" + "( NAME = N'myDB_log', FILENAME = N'" + Application.StartupPath + "\\myDB_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)";
SqlCommand Command = new SqlCommand(str, Conn);

如何通过c#脚本解决这个问题?

2 个答案:

答案 0 :(得分:0)

您不应直接删除数据库文件,因为它们是在SQL Server的master数据库中引用的。如果可以还原文件,请执行此操作,然后从SQL Server Management Studio中删除数据库,否则您将需要手动删除主数据库表中的数据库条目!

答案 1 :(得分:0)

您可以尝试使用来解决问题

EXEC sp_detach_db'dbName','true';

上面说的sp_detach将skipchecks设置为true

分离数据库