Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
正在寻找可以在C#tests(MSTest)中备份SQL Server 2005/2008/2008R2数据库的代码_C#_Sql Server 2005_Unit Testing_Mstest_Database Backups - Fatal编程技术网

正在寻找可以在C#tests(MSTest)中备份SQL Server 2005/2008/2008R2数据库的代码

正在寻找可以在C#tests(MSTest)中备份SQL Server 2005/2008/2008R2数据库的代码,c#,sql-server-2005,unit-testing,mstest,database-backups,C#,Sql Server 2005,Unit Testing,Mstest,Database Backups,我在下面找到了一个起点,但我担心我可能会错过对CreateDbBackup()和RestoreDbBackup()的调用。我希望我能在测试中编写并使用属性。这可能吗?怎么用?我正在使用MSTest库和C#4.0 看看(SMO)。您应该能够使用它备份和恢复SQL Server数据库。谢谢!这有多正式/旧/经过良好测试?Microsoft从SQL Server 2005开始开发这一功能。它可以在SQL Server安装期间安装。 internal void CreateDbBackup() {

我在下面找到了一个起点,但我担心我可能会错过对
CreateDbBackup()
RestoreDbBackup()
的调用。我希望我能在测试中编写并使用属性。这可能吗?怎么用?我正在使用MSTest库和C#4.0


看看(SMO)。您应该能够使用它备份和恢复SQL Server数据库。

谢谢!这有多正式/旧/经过良好测试?Microsoft从SQL Server 2005开始开发这一功能。它可以在SQL Server安装期间安装。
internal void CreateDbBackup()  
{  
        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConStr"].ConnectionString))  
         {  
            SqlCommand cmd = con.CreateCommand();  
            cmd.CommandText = string.Format(@"BACKUP DATABASE [MyDatabase] TO  DISK = N'{0}' WITH  INIT ,  NOUNLOAD ,  NOSKIP ,  STATS = 10,  NOFORMAT", UtilityClassGeneral.DbBackupPath);  
            con.Open();  
            cmd.ExecuteNonQuery(); 
        }  
    }  

    internal void RestoreDbFromBackup()  
    {  
        using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["myConStr"].ConnectionString))  
        {  
            SqlCommand cmd = con.CreateCommand();  

            con.Open();  

            // Make sure to get exclusive access to DB to avoid any errors  
            cmd.CommandText = "USE MASTER ALTER DATABASE [MyDatabase] SET SINGLE_USER With ROLLBACK IMMEDIATE";  
            cmd.ExecuteNonQuery();  

            cmd.CommandText = string.Format(@"RESTORE DATABASE [MyDatabase] FROM  DISK = N'{0}' WITH  FILE = 1,  NOUNLOAD ,  STATS = 10,  RECOVERY ,  REPLACE", UtilityClassGeneral.DbBackupPath);  
            cmd.ExecuteNonQuery();  
        }  
}