Ejemplo n.º 1
0
        private void ExportDB1()
        {
            string   strDatabase           = @"dbPuls3060Medlem";
            string   strDatabaseBackupfile = this.DBBackupFolder.Text + @"\" + strDatabase + @".bacpac";
            string   ConnectionString      = @"Server=qynhbd9h4f.database.windows.net;Database=dbPuls3060Medlem;User ID=sqlUser;Password=Puls3060;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;";
            DateTime Nu  = DateTime.Now;
            string   fdt = Nu.ToString("dd-MM-yyyy HH:mm");

            this.MessageLine1.Text      = strDatabase + " Start Backup";
            this.MessageLine1.ForeColor = System.Drawing.Color.DodgerBlue;
            this.Refresh();
            try
            {
                Microsoft.SqlServer.Dac.DacServices Services = new Microsoft.SqlServer.Dac.DacServices(ConnectionString);
                Services.ExportBacpac(strDatabaseBackupfile, @"dbPuls3060Medlem");
                this.MessageLine1.Text      = strDatabase + " Backup OK " + fdt;
                this.MessageLine1.ForeColor = System.Drawing.Color.DodgerBlue;
                this.Refresh();
            }
            catch
            {
                this.MessageLine1.Text      = strDatabase + " Not Backed up " + fdt;
                this.MessageLine1.ForeColor = System.Drawing.Color.Red;
                this.Refresh();
            }
        }
Ejemplo n.º 2
0
        void Backup(XmlNode n, string id)
        {
            var toFile  = Program.Shared.ReplaceTags(Util.GetStr(n, "toFile"));
            var type    = Program.Shared.ReplaceTags(Util.GetStr(n, "type", "bacpac"));
            var connStr = Program.Shared.Databases[id];
            var dbName  = Util.GetConfigData(connStr, "Initial Catalog");

            Program.Shared.WriteLogLine("Starting Database Backup.");
            if (type.ToLower() == "bacpac")
            {
                var ds = new Microsoft.SqlServer.Dac.DacServices(connStr);
                ds.ExportBacpac(toFile, dbName);
            }
            else if (type.ToLower() == "bak")
            {
                var timeout     = Util.GetStr(n, "timeout", "1800").IsNumber()?Convert.ToInt32(Util.GetStr(n, "timeout", "1800")):1800;
                var withOptions = Util.GetStr(n, "withOptions");
                Util.Execute("backup database " + dbName + " to disk='" + toFile + "' " + withOptions, connStr, timeout);
            }
            Program.Shared.DbBackups.Add(toFile);
            var toVar = Util.GetStr(n, "toVar");

            if (!string.IsNullOrEmpty(toVar))
            {
                lock (Program.Shared.LockVariables) { Program.Shared.Variables[toVar + ";" + Program.Shared.GetSequence()] = toFile; }
            }
            Program.Shared.WriteLogLine(String.Format("Finished Database Backup (File: {0}; Size: {1}).", toFile, Util.GetFileSize(new FileInfo(toFile).Length)));
        }
Ejemplo n.º 3
0
        private void ExportDB2()
        {
            string   strSQLServer          = this.SQLServer.Text; //@"(localdb)\localdb";
            string   strDatabase           = this.Database.Text;;
            string   strDatabaseBackupfile = this.DBBackupFolder.Text + @"\" + strDatabase + @".bacpac";
            string   ConnectionString      = @"Server=" + strSQLServer + @";Integrated Security=True;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;";
            DateTime Nu  = DateTime.Now;
            string   fdt = Nu.ToString("dd-MM-yyyy HH:mm");

            this.MessageLine2.Text      = strDatabase + " Start Backup";
            this.MessageLine2.ForeColor = System.Drawing.Color.DodgerBlue;
            this.Refresh();

            try
            {
                Microsoft.SqlServer.Dac.DacServices Services = new Microsoft.SqlServer.Dac.DacServices(ConnectionString);
                Services.ExportBacpac(strDatabaseBackupfile, strDatabase);
                this.MessageLine2.Text      = strDatabase + " Backup OK " + fdt;
                this.MessageLine2.ForeColor = System.Drawing.Color.DodgerBlue;
                this.Refresh();
            }
            catch
            {
                this.MessageLine2.Text      = strDatabase + " Not Backed up " + fdt;
                this.MessageLine2.ForeColor = System.Drawing.Color.Red;
                this.Refresh();
            }
        }
        //#r "C:\Program Files\Microsoft SQL Server\140\DAC\bin\Microsoft.SqlServer.Dac.Extensions.dll"
        public void Compare()
        {
            var csb = new SqlConnectionStringBuilder
            {
                DataSource         = ".",
                InitialCatalog     = "ICareMVCMaster",
                IntegratedSecurity = true
            };
            var bacPacFile = @"C:\temp\icaremvcmaster.dacpac";
            var s          = new Microsoft.SqlServer.Dac.DacServices(csb.ConnectionString);

            s.Extract(bacPacFile, "IcareMVCMaster", "Test Application", new Version("1.1.1.1"));
            var sourceDacpac = new SchemaCompareDacpacEndpoint(bacPacFile);

            var csb2 = new SqlConnectionStringBuilder
            {
                DataSource         = ".",
                InitialCatalog     = "New_ICareMVCMaster",
                IntegratedSecurity = true
            };
            var targetDatabase = new SchemaCompareDatabaseEndpoint(csb2.ToString());

            var comparison = new SchemaComparison(sourceDacpac, targetDatabase);

            // Persist comparison file to disk in Schema Compare (.scmp) format
            comparison.SaveToFile(@"C:\temp\mycomparison.scmp");

            // Load comparison from Schema Compare (.scmp) file
            comparison = new SchemaComparison(@"C:\temp\mycomparison.scmp");
            SchemaComparisonResult comparisonResult = comparison.Compare();

            // Find the change to table1 and exclude it.
            //foreach (SchemaDifference difference in comparisonResult.Differences)
            //{
            //    if (difference.TargetObject.Name != null &&
            //        difference.TargetObject.Name.HasName &&
            //        difference.TargetObject.Name.Parts[1] == "DbConnections")
            //    {
            //        comparisonResult.Exclude(difference);
            //        break;
            //    }
            //}


            // Publish the changes to the target database
            //SchemaComparePublishResult publishResult = comparisonResult.PublishChangesToTarget();
            var publishResult = comparisonResult.GenerateScript(".");

            Console.WriteLine(publishResult.MasterScript);
            Console.WriteLine(publishResult.Script);
            Console.WriteLine(publishResult.Success ? "Publish succeeded." : "Publish failed.");
        }