将数据库添加到现有SQL Server 2008

时间:2012-02-05 03:05:37

标签: c# sql database

我花了很多时间尝试研究外部资源,但不同的解决方案似乎比我希望的更多。

我正在努力实现以下目标:

  • 在此本地计算机上的现有SQL实例上创建简单数据库。
  • 安全性应该只是一个简单的用户名和密码
  • 其他选项是不必要的(日志,增长,最大尺寸等)

这是我第一次尝试与我的程序进行数据库集成。使用SQLite或SMO似乎有点压倒性的开始。我一直试图修改这个示例代码:

private void createDatabase()
{
    String str;
    SqlConnection myConn = new SqlConnection("Server=" + serverName + ";Integrated security=SSPI;database=master");

    str = "CREATE DATABASE " + dbName + " ON PRIMARY " +
           "(NAME = " + dbName + "_Data, " +
           "FILENAME = 'C:\\" + dbName + ".mdf', " +
           "SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
           "LOG ON (NAME = " + dbName + "_Log, " +
           "FILENAME = 'C:\\" + dbName + ".ldf', " +
           "SIZE = 1MB, " +
           "MAXSIZE = 5MB, " +
           "FILEGROWTH = 10%)";

    SqlCommand myCommand = new SqlCommand(str, myConn);
    try
    {
        myConn.Open();
        myCommand.ExecuteNonQuery();
        MessageBox.Show("DataBase is Created Successfully", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    catch (System.Exception ex)
    {
        MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }
    finally
    {
        if (myConn.State == ConnectionState.Open)
        {
            myConn.Close();
        }
    }
}

有关如何创建简单查询字符串或创建数据库的任何想法?如果有更好的方法,那很好,但请记住,我试图让它尽可能简单地开始。

1 个答案:

答案 0 :(得分:7)

使用SMO:

    Server server = new Server("servername");
    Database db = new Database(server, "MyDatabaseName");
    db.Create();

要构建SMO应用程序,需要引用SMO程序集。点击“添加参考”并导航到文件夹

C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies

添加对这些程序集的引用:

  • Microsoft.SqlServer.ConnectionInfo.dll
  • Microsoft.SqlServer.Smo.dll
  • Microsoft.SqlServer.Management.Sdk.Sfc.dll
  • Microsoft.SqlServer.SqlEnum.dll

将此using语句添加到包含上述代码的文件中:

using Microsoft.SqlServer.Management.Smo;

在旁注: