天天看點

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);

                }

            }

        }