天天看点

SMO学习笔记(五)——附加数据库

SQL Server Management Studio演示附加数据库:

1.选择数据库附加操作

2.选择附加按钮后会出现如下界面,然后点击添加按钮。

3.定位数据库文件,选择你分离或备份的数据库,点确定。

4.添加。

添加完毕!注意如果数据库已经存在或重名,附加数据库操作将失败!

SMO附加数据库代码如下:

/// <summary>

        /// 附加数据库

        /// 注意:如果数据库已经存在,附加将失败

        /// </summary>

        /// <param name="SqlConnectionString"></param>

        public static void AttachDatabase(string SqlConnectionString)

        {

            using (SqlConnection Connection = new SqlConnection(SqlConnectionString))

            {

                Server server = new Server(new ServerConnection(Connection));

                StringCollection files = new StringCollection();

                Database currentDb = server.Databases["test"];

                if (currentDb == null)

                {

                    //主文件是必须的

                    //文件名、文件后缀的大小写无所谓,即实际文件是Over.Mdf但这里指定成over.mdf也没有关系

                    files.Add(string.Format(@"{0}\{1}.mdf", "D:\"", "test"));

                    //log可以不设置

                    files.Add(string.Format(@"{0}\{1}_log.ldf","D:\"", "test"));

                    //AttachDatabase(数据库名称,附加数据库文件路径,数据库所有者,AttachOptions选项)

                    //第三个设置了不起作用!附加后的数据库显示所有者为Connection中连接用户为所有者tj

                    server.AttachDatabase("oye", files, "tj", AttachOptions.None);

                }

            }

        }