天天看点

SMO学习笔记(四)——分离数据库

SQL Server Management Studio演示分离数据库:

1.选择要分离的数据库,右键选择分离。

2.确认分离。

SMO分离数据库代码:

        /// <summary>

        /// 分离数据库

        /// </summary>

        /// <param name="SmoParm"></param>

        public static void DetachDatabase(string SqlConnectionString)

        {

            using (SqlConnection Connection = new SqlConnection(SqlConnectionString))

            {

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

                //test为数据库的名称

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

                //看是否数据库已经存在

                if (currentDb != null)

                {

                    Connection.ChangeDatabase("test");

                    server.KillAllProcesses("test");

                    currentDb.DatabaseOptions.UserAccess = DatabaseUserAccess.Single;

                    currentDb.Alter(TerminationClause.RollbackTransactionsImmediately);

                    server.DetachDatabase("test", true);

                }

            }

        }