本文整理汇总了C#中Credential.Create方法的典型用法代码示例。如果您正苦于以下问题:C# Credential.Create方法的具体用法?C# Credential.Create怎么用?C# Credential.Create使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Credential
的用法示例。
在下文中一共展示了Credential.Create方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CopyDatabase
public static void CopyDatabase(MyArgs parms)
{
//remove trailing slash on the path if provided by user
if (parms.PathToLocalMdf.EndsWith("\\"))
parms.PathToLocalMdf = parms.PathToLocalMdf.Substring(0, parms.PathToLocalMdf.Length - 1);
//Set Source SQL Server (SQL Azure)
Server sourceServer = new Server(new ServerConnection(parms.SourceServer, parms.SourceUser, parms.SourcePassword));
Database sourceDatabase = sourceServer.Databases[parms.SourceDatabase];
//Set Destination SQL Server (SQL IaaS)
Server destServer = new Server(new ServerConnection(parms.DestinationServer, parms.DestinationUser, parms.DestinationPassword));
Database destDatabase = null;
//Drop the detination database if it exits
if (destServer.Databases.Contains(parms.DestinationDatabase))
{
Console.Write($"Destintation DB {parms.DestinationDatabase} on {destServer.Name} Exists. Dropping.");
destServer.KillDatabase(parms.DestinationDatabase);
Console.WriteLine(" . . . Done!");
}
//create the temp database on SQL IaaS
Console.Write($"Creating Destintation DB {parms.DestinationDatabase} on {destServer.Name}.");
destDatabase = new Database(destServer, parms.DestinationDatabase);
var fg = new FileGroup(destDatabase, "PRIMARY");
destDatabase.FileGroups.Add(fg);
var df = new DataFile(fg, $"{parms.DestinationDatabase}_data");
fg.Files.Add(df);
df.FileName = $"{parms.PathToLocalMdf}\\{parms.DestinationDatabase}.mdf";
df.IsPrimaryFile = true;
df.Growth = 10;
df.GrowthType = FileGrowthType.Percent;
destDatabase.Create();
Console.WriteLine(" . . . Done!");
//Transfer the schema and data from SQL Azure to SQL IaaS
Console.WriteLine("Starting Transfer...");
Transfer transfer = new Transfer(sourceDatabase);
transfer.DataTransferEvent += (object sender, DataTransferEventArgs e) =>
{
Console.WriteLine($"{e.DataTransferEventType}: {e.Message}");
};
transfer.CopyAllObjects = true;
transfer.Options.WithDependencies = true;
transfer.Options.Triggers = true;
transfer.Options.Indexes = true;
transfer.Options.ClusteredIndexes = true;
transfer.Options.Default = true;
transfer.Options.DriAll = true;
transfer.CopyData = true;
transfer.DestinationServer = parms.DestinationServer;
transfer.DestinationDatabase = parms.DestinationDatabase;
transfer.TransferData();
Console.WriteLine("Transfer Complete!");
//Create a backup credential in the SQL IaaS instance to perform the backup to Azure Blob
Console.Write("Creating Backup Credential...");
if (destServer.Credentials.Contains("BackupCred"))
{
Console.Write(" Dropping ");
destServer.Credentials["BackupCred"].Drop();
}
Credential credential = new Credential(destServer, "BackupCred");
credential.Create(parms.StorageAccountName, parms.StorageKey);
Console.WriteLine(" Complete!");
string storageEndpoint = $"https://{parms.StorageAccountName}.{parms.StorageEndpointBase}/{parms.StorageContainer}/{parms.StorageFileBase}-{DateTime.UtcNow:yyyy-MM-dd-HH-mm}.bak";
//Perform the backup from SQL IaaS to Azure Blob
//https://msdn.microsoft.com/en-us/library/dn435916.aspx
Console.WriteLine("Starting Backup...");
Backup backup = new Backup();
backup.Action = BackupActionType.Database;
backup.Database = parms.DestinationDatabase;
backup.Devices.Add(new BackupDeviceItem(storageEndpoint, DeviceType.Url, "BackupCred"));
backup.CredentialName = "BackupCred";
backup.Incremental = false;
backup.SqlBackup(destServer);
Console.WriteLine("Backup Complete!");
}