【发布时间】:2018-11-23 11:36:42
【问题描述】:
我们有一个 Windows 本地计划任务,需要迁移到 Azure Paas。
任务的范围是每天恢复同一数据库的干净版本以提高站点的性能。
任务操作是使用以下脚本运行批处理文件。
SQLCMD -E -S server-name -Q "use master; alter database myDatabase set
single_user with rollback immediate; alter database myDatabase set
multi_user; RESTORE DATABASE myDatabase FROM DISK='C:\Dir\myDatabase.bak';
USE myDatabase; CREATE USER myUser FOR LOGIN myUser; USE myDatabase; ALTER
ROLE db_owner ADD MEMBER myUser"
要求是通过 Visual Studio 创建 Azure C# WebJob 项目并将其发布为 Azure WebJob 来实现类似的功能。
应该只保留数据库的架构,没有数据或日志。
using (SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["AzureDBConnString"]))
{
connection.Open();
var queryString_RestoreMyDatabase = @"?????"; // what to add here?
using (SqlCommand cmd_RestoreMyDatabase = new SqlCommand(queryString_RestoreMyDatabase, connection))
{
cmd_RestoreMyDatabase.ExecuteNonQuery();
}
}
以上可能吗?我们可以为queryString_RestoreMyDatabase使用哪些SQL命令来实现这篇文章的标题?
【问题讨论】:
标签: c# azure azure-sql-database