我只是想知道是否可以在SQL Azure表列中引用azure blob存储数据?
例如,假设我有一个表叫用户在我的SQL Azure数据库,在表中的一列UserImage和,而不是创建UserImage一个varbinary(MAX),并在表中的图像数据直接存储,我反而想存储的图像数据在blob存储中,获取对blob数据的引用并将该引用存储在数据库的UserImage(varchar??)列中,然后以某种方式,当从Users表中读取行时,使用引用从blob存储中访问关联的图像数据那个数据.
我问这个是因为blob存储使用比直接在SQL Azure中的二进制/ blob数据便宜得多.
有谁能告诉我如何在SQL Azure中授予数据库权限?
当我执行create table query时,我最终得到以下消息:
数据库testDB中的CREATE TABLE权限被拒绝
提前致谢 :)
我最近将数据库迁移到SQL Azure.当我尝试在SQL Azure上的此数据库上执行存储过程时,我收到以下错误:
The EXECUTE permission was denied on the object 'Log_Save', database 'MyDatabase', schema 'dbo'.
Run Code Online (Sandbox Code Playgroud)
我的问题是,如何在SQL Azure上为存储过程(以及对表的读/写访问)授予EXECUTE权限?
谢谢!
这是一个很长的问题,但如果我能就此得到一些好的建议,我将非常感激.简而言之,我正在寻找一种用于MS SQL数据库模式的版本升级的好方法,该方法还要求将数据从已删除的表移动到新表中.
我认为Stack Overflow是这个问题最合适的地方(不是dba.stackexchange.com),因为在它的核心,对于使用Entity Framework的.NET开发人员来说这是一个问题,而这个数据库部分主要由自动生成的sql组成.脚本.
.NET应用程序和SQL数据库在Azure中运行(工作者角色中的应用程序和Azure SQL中的数据库).到目前为止,版本升级工作正常,因为所有数据库架构更改都很简单(如添加新列).但是,从现在开始,我还需要处理在升级期间将数据从一个表移动到另一个表.(我能够通过创建一个新数据库来临时修复此问题,使用旧数据库中的数据生成脚本并手动编辑脚本以使其适合新模式,但我希望有更好的方法).
我使用Entity Framework,我使用Model First.实体和关联在Visual Studio数据模型设计器中定义,这种方法非常适合我的应用程序.
我使用dacpac来升级Azure SQL数据库,这种方法一直运行到现在(但现在我将丢失数据,所以现在我必须找到一种方法将数据移动到新表).
我希望我可以继续使用实体框架并在设计器中定义实体/关联,但如果需要,可以从dacpac升级转换到另一种技术.
这是一个简单的例子来说明这个问题,但是从现在开始我似乎会经常进入几乎相同的情况.查看下图中的旧版和新版架构.假设数据库中已有数据.我需要ImageFile中的数据最终在ImageFileOriginal或ImageFileProcessed中,具体取决于IsOriginal布尔/位值.使用"升级数据层应用程序"我将收到有关数据丢失的警报.你会建议采用什么方法来解决这个问题?正如我之前所说,如果需要,可以将dacpac升级转换为其他技术.

我已经阅读了有关Visual Studio数据库项目,Fluent Migrator,Red Gate和实体设计器数据库生成Power Pack(它不支持Visual Studio 2012),但我没有找到一个好办法.我承认我没有花一整天时间深入研究每种技术,但我当然花了一些时间尝试找到一种好的方法.
entity-framework database-migration ef-model-first dacpac azure-sql-database
我准备放弃Azure SQL以解决可靠性问题,但我想我先在这里查看.我在SQL Azure上遇到了几个零星的超时错误.这不是连接字符串问题 - 我们谈论的是几个已经运行了很长时间但没有问题的应用程序.确切的错误是:
System.ComponentModel.Win32Exception: The wait operation timed out
Run Code Online (Sandbox Code Playgroud)
目前,我正在考虑过去30分钟左右的其中300个.我运行了http://blog.sqlauthority.com/2010/05/14/sql-server-find-most-expensive-queries-using-dmv中提到的DMV查询,以了解发生了什么,并发现:

根据文档,602,382是微秒,或大约602毫秒,所以显然我的数据库使用要求非常低.我有一种感觉,这纯粹是Azure SQL的过度租赁问题.还有其他可能的解释吗?任何潜在的解决方案都不能让Azure SQL成为更环保的牧场(例如专用的SQL VM)?
我目前正在使用SQL Azure,我意识到当我将它与Sql Server Management Studio或Visual Studio 2013 Data Tools一起用于设计数据库时,它非常慢.有没有人有同样的问题?我尝试将数据库扩展到此配置但它仍然工作缓慢:
服务器层:标准.表现水平:S2.
问候,
罗德里戈
我使用EF 6与Azure Sql数据库.根据Microsoft,不支持用户启动的事务(参考:https://msdn.microsoft.com/en-us/data/dn307226#transactions)
现在,使用EF 6,ExecuteSqlCommand默认情况下包含在事务中:
从EF6 Database.ExecuteSqlCommand()开始,默认情况下会将命令包装在事务中(如果尚未存在).(参考:https://msdn.microsoft.com/en-us/data/dn456843.aspx)
鉴于我的情况,我应该总是抑制这样的ExecuteSqlCommand事务行为:
context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, @"TRUNCATE TABLE Person;");
Run Code Online (Sandbox Code Playgroud) 我正在尝试将sitecore数据库导出到bacpac,以便它可以还原到SQL Azure.
但是,我收到以下错误:
在用作数据包一部分的模式中找到了一个或多个不受支持的元素.
Error SQL71564: The element Extended Property: [dbo].[Fields].[MS_DiagramPane1] is not supported when used as part of a data package (.bacpac file).
Error SQL71564: The element Extended Property: [dbo].[Fields].[MS_DiagramPaneCount] is not supported when used as part of a data package (.bacpac file).
Error SQL71564: Table Table: [dbo].[ArchivedFields] does not have a clustered index. Clustered indexes are required for inserting data in this version of SQL Server.
Error SQL71564: Table Table: [dbo].[ArchivedItems] does not have a clustered index. Clustered …Run Code Online (Sandbox Code Playgroud) 有没有办法创建Azure Sql数据库,然后将其作为rest API公开,以便您可以使用OData调用对CRUD表的restful调用?
自从将Windows 10更新到1803以来,我已经开始接收此错误,只要我运行一个EF查询,该查询连接一个带有标量参数的表值函数.
消息:传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确.参数2(""):数据类型0x00未知.
堆栈跟踪:位于System.Threading.Tasks.Task.Execute()的System.Threading.Tasks.ContinuationResultTaskFromResultTask`2.InnerInvoke()中的System.Data.SqlClient.SqlCommand.<> c.b__180_0(Task1结果).从抛出异常的先前位置开始的堆栈跟踪结束---在System.Data.Entity.Core.EntityClient的System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务)的System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()处.Internal.EntityCommandDefinition.d__c.MoveNext()
我在.NET 4.6框架项目中使用Entity Framework v6.2.我验证了相同的代码在使用Windows 10 1709的另一台计算机上执行没有问题.我将计算机更新到Windows 10 1803而没有其他更改,我开始收到上述错误.导致错误的代码:
var query = from fs in db.ViewWithInformation
join e in db.GetEventsForPerson(personnelId) on fs.Event_Id equals e.Event_Id
where !fs.Is_Deleted
select fs;
return await query.ToArrayAsync();
Run Code Online (Sandbox Code Playgroud)
如果我针对db.GetEventsForPerson删除连接,则查询将运行.上面的EF查询生成的SQL在SSMS中运行良好.
编辑5/15/2018:我已经确认这是由.NET Framework 4.7.2特别引起的.我在Windows 10 1709计算机上手动安装了.NET 4.7.2,错误再次启动.
azure ×3
c# ×2
sql-server ×2
.net-4.7.2 ×1
bacpac ×1
dacpac ×1
odata ×1
performance ×1
sitecore ×1
sqlclient ×1