Tag: Azure的SQL数据库

使用c#备份和还原Azure sql数据库

我想将Azure sql数据库备份到我的本地系统,然后将该备份恢复到c#中的Azure sql数据库。 任何身体可以帮助我吗?有可能这样做吗?

从VS C#创建Azure SQL数据库时设置服务层

在C#中从Visual Studio创建新数据库时是否可以设置Microsoft Azure SQL数据库服务层? 目前,我可以连接到Azure SQL服务器并创建表没有问题,但由于某种原因(可能是Microsoft Default),数据库将在Web中创建,这是将要停用的服务层。 我想根据需要将默认服务层设置为Basic,Standard或Premium。 到目前为止我发现的是当我调用这个方法时Database.Initialize(true)< – EF http://msdn.microsoft.com/en-us/library/system.data.entity.database.initialize(v=vs .113).aspx它将创建数据库并将其设置为Web服务层。

连续连接数据库时出错

当我在连续循环中从数据库查询时,一段时间后我收到一个错误: 提出的exception可能是由于瞬时故障引起的。 如果要连接到SQL Azure数据库,请考虑使用SqlAzureExecutionStrategy。 通常它工作正常。

如何将带有.MDF文件(Sql 2008)的现有ASP.NET MVC 3项目迁移到Windows Azure模拟器(使用SQL Azure)

我在Visual Studio 2010中使用现有项目,使用.mdf(SQL 2008 Express)的现有数据库使用ASP.NET MVC 3。 做了一些谷歌搜索,我感到困惑,因为有太多的资源。 你能帮我指出一下简单的教程链接吗?

在移动服务数据库上启用代码优先迁移时出错

我有一个Azure移动服务项目(C#后端),我最近创建并附加到Azure SQL数据库。 我一直在尝试在该后备数据库上启用代码优先迁移,但在尝试更新数据库时会抛出错误。 我执行了所有常规步骤以启用迁移(启用迁移,添加迁移)。 但是当我尝试Update-Database时,它会返回以下错误: 无法在表’dbo.Appointments’上创建多个聚簇索引。 在创建另一个之前删除现有的聚簇索引“PK_dbo.Appointments”。 为什么会这样? 我的数据库中没有任何表,该项目几乎是默认的。

具有DbContext和TenantId的MultiTenancy – 拦截器,filter,EF代码优先

我的组织需要一个共享数据库,共享模式多租户数据库。 我们将根据TenantId进行查询。 我们将只有极少数租户(少于10个),并且所有租户都将共享相同的数据库架构,不支持特定于租户的更改或function。 租户元数据将存储在内存中,而不是存储在DB(静态成员)中。 这意味着所有实体现在都需要一个TenantId, DbContext需要知道默认情况下对此进行过滤。 TenantId可能会被标头值或原始域标识,除非有更明智的方法。 我已经看到各种样本利用拦截器,但没有看到TenantId实现的明确示例。 我们需要解决的问题: 我们如何修改当前架构来支持这个(简单的我想,只需添加TenantId) 我们如何检测租户(简单 – 基于原始请求的域或标头值 – 从BaseController拉出) 我们如何将它传播到服务方法(有点棘手…我们使用DI通过构造函数进行水合…希望避免使用tenantId对所有方法签名进行tenantId ) 一旦我们有了它,我们如何修改DbContext来过滤这个tenantId(不知道) 我们如何优化性能。 我们需要什么索引,我们如何确保查询缓存没有做任何与tenantId隔离等相关的时髦(不知道) 身份validation – 使用SimpleMembership,我们如何隔离User ,以某种方式将他们与租户联系起来。 我认为最大的问题是4 – 修改DbContext。 我喜欢本文如何利用RLS,但我不知道如何以代码优先,dbContext方式处理它: https://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-entity-framework-row-level-security/ 我想说的是我想要的是一种方法 – 考虑到性能 – 使用DbContext有选择地查询tenantId隔离的资源,而不用我的调用”AND TenantId = 1″等。 更新 – 我找到了一些选项,但我不确定每个选项的优缺点是什么,或者是否有一些“更好”的方法。 我对选项的评估归结为: 易于实施 性能 方法A. 这似乎“昂贵”,因为每次我们新建dbContext时,我们都必须重新初始化filter: Row level security in EntityFramework 6 (EF6) 首先,我设置了我的租户和界面: public static […]

Azure Fluent API创建SQL Server时出错 – 缺少x-ms-request-id标头

我正在尝试使用Azure Fluent API( https://github.com/Azure/azure-sdk-for-net/tree/Fluent )创建一个新的SQL Server,但我总是得到一个Microsoft.Rest.Azure.CloudException 。 其他所有(创建存储帐户,应用程序服务,资源组)工作正常 – 它只是SQL部分不起作用。 ISqlServer sqlServer = await Azure.SqlServers .Define(serverName) .WithRegion(regionName) .WithExistingResourceGroup(rgName) .WithAdministratorLogin(administratorLogin) .WithAdministratorPassword(administratorPassword) .WithNewElasticPool(elasticPoolName, elasticPoolEdition) .CreateAsync(); 但是在尝试创建服务器时,我得到了一个例外: {Microsoft.Rest.Azure.CloudException: Invalid value for header ‘x-ms-request-id’. The header must contain a single valid GUID. at Microsoft.Azure.Management.Sql.Fluent.ServersOperations.d__10.MoveNext() — End of stack trace from previous location where exception was thrown — at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() […]

无法从Azure网站访问Azure数据库服务器

我使用Visual Studio 2013 Web Express创建了一个MVC Web应用程序。 我已在Azure中为我的计算机启用了防火墙规则,我可以从本地计算机连接并远程调试我的网站。 我有用户SQL Server对象资源管理器,以确认我正在连接到我的Azure数据库,并确保应用程序正常运行。 但是,当我将应用程序部署到Azure时,我收到以下连接错误。 我已经检查过以确保该网站将Azure数据库作为链接资源。 我使用FTP连接到网站并确认我的web.config中的连接字符串是否正确。 这似乎是我的Azure设置中的一些配置问题,但我不知道还有什么要检查。 任何建议表示赞赏。 —————收到错误(用户名和跟踪ID已更改)————————- – ‘/’应用程序中的服务器错误。 用户’MyUserName’登录失败。 已为此会话分配了跟踪ID“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。 在需要帮助时,请将此跟踪ID提供给客户支持。 描述:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.Data.SqlClient.SqlException:用户’MyUserName’登录失败。 已为此会话分配了跟踪ID“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”。 在需要帮助时,请将此跟踪ID提供给客户支持。 来源错误: 在执行当前Web请求期间生成了未处理的exception。 可以使用下面的exception堆栈跟踪来识别有关exception的起源和位置的信息。 堆栈跟踪: [SqlException (0x80131904): Login failed for user ‘MyUserName’. This session has been assigned a tracing ID of ‘xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx’. Provide this tracing ID to 客户支持时需要帮助。] System.Data.SqlClient.SqlInternalConnection.OnError(SqlExceptionexception,Boolean breakConnection,Action 1 […]

突然在SQL Azure上获得大量等待操作超时问题

两天前,没有代码更改或更改数据库,我没有得到很多(每5分钟左右)错误与The wait operation timed out错误有两个不同的下划线完整错误关于预登录和关于post的其他内容: System.Data.Entity.Core.EntityException:基础提供程序在Open上失败。 —> System.Data.SqlClient.SqlException:连接超时已过期。 尝试使用登录前握手确认时超时时间已过。 这可能是因为登录前握手失败或服务器无法及时响应。 尝试连接到此服务器所花费的时间是 – [Pre-Login] initialization = 21; 握手= 14988; —> System.ComponentModel.Win32Exception:等待操作超时 System.Data.Entity.Core.EntityException:基础提供程序在Open上失败。 —> System.Data.SqlClient.SqlException:连接超时已过期。 在登录后阶段过去了超时时间。 在等待服务器完成登录过程并响应时,连接可能已超时; 或者在尝试创建多个活动连接时可能会超时。 尝试连接到路由目标时发生此故障。 尝试连接到原始服务器时花费的持续时间是 – [Pre-Login] initialization = 5; 握手= 3098; [登录]初始化= 0; 认证= 0; [登录后]完成= 7; 尝试连接到此服务器所花费的时间是 – [Pre-Login] initialization = 20; 握手= 5; [登录]初始化= 0; 认证= 0; [登录后]完成= 11003; […]

entity framework上的懒惰与急切加载性能

所以我的DbContext上有以下模型类: 每次我渲染一个LoanApplication对象列表时,我都会这样做: var context = new MyContext(); var applications = context.LoanApplications.Where(d => d.PropertyThatIWantToFilter = localVariable); 这将返回一个IQueryable,然后我在我的控制器方法调用中转换为这样的ViewModel: var vm = applications.Select(d => new LoanApplicationViewModel(d)); 在LoanApplicationViewModel构造函数内部,我接受实体对象并执行相应的映射。 问题在于,由于Solicitors集合是一个导航属性,因此每次实例化新的视图模型时都会对数据库进行调用。 每个应用程序的平均律师数量是两个,这意味着如果我呈现一个列出最后10个应用程序的表,那么该应用程序将大约18-20次访问数据库。 我认为必须有一个更好的方法来获得这个集合,所以我改变了我的原始查询以急切加载集合,如下所示: var applications = context.LoanApplications.Include(“Solicitors”).Where… 尽管这会将对数据库的调用次数减少到只有一次, 但查询速度要慢得多,大约慢50%。 数据库托管在SQL Azure上,我们已经实现了瞬态error handling,但我希望减少对数据库的调用数量,而不会降低响应时间性能。 这里的最佳做法是什么?