我正在使用linq to Entity来查询azure数据库.我已登录azure查看给出特定问题的查询.我想实际查看传入的参数,但所有azure给我的是下面.有没有办法在查询已经运行后查看参数(例如,更改代码以记录它们目前不是一个选项).
当我登录azure时,请转到管理门户 - SQL数据库| 查询性能| 选择特定查询.我可以看到以下内容:问题是我无法看到已经传递给参数的内容,例如@p_ linq _19.我只看到一个参数占位符.
SELECT TOP (150)
[Project1].[AlertIdentifier] AS [AlertIdentifier]
FROM ( SELECT
[Extent1].[AlertIdentifier] AS [AlertIdentifier],
[Extent1].[TimeReceived] AS [TimeReceived]
FROM [dbo].[SecurityAlert] AS [Extent1]
WHERE (2 <> [Extent1].[AlertStatusID]) AND ((convert(datetime2, '0001-01-01 00:00:00.0000000', 121) = @p__linq__0) OR ([Extent1].[DateScanned] >= @p__linq__1)) AND ((N'' = @p__linq__2) OR ([Extent1].[BettingShopIdentifier] LIKE @p__linq__3 ESCAPE N'~')) AND ((convert(datetime2, '0001-01-01 00:00:00.0000000', 121) = @p__linq__4) OR ([Extent1].[DateScanned] <= @p__linq__5)) AND ((cast(0 as float(53)) = @p__linq__6) OR ( CAST( [Extent1].[SlipStake] AS float) >= @p__linq__7)) AND …Run Code Online (Sandbox Code Playgroud) 我正进入(状态
SQL Server中此版本的SQL Server不支持语句"SELECT INTO"
对于存储过程中的以下查询
DECLARE @sql NVARCHAR(MAX)
,@sqlSelect NVARCHAR(MAX) = ''
,@sqlFrom NVARCHAR(MAX) = ''
,@sqlTempTable NVARCHAR(MAX) = '#itemSearch'
,@sqlInto NVARCHAR(MAX) = ''
,@params NVARCHAR(MAX)
SET @sqlSelect ='SELECT
,IT.ITEMNR
,IT.USERNR
,IT.ShopNR
,IT.ITEMID'
SET @sqlFrom =' FROM dbo.ITEM AS IT'
SET @sqlInto = ' INTO ' + @sqlTempTable + ' ';
IF (@cityId > 0)
BEGIN
SET @sqlFrom = @sqlFrom +
' INNER JOIN dbo.CITY AS CI2
ON CI2.CITYID = @cityId'
SET @sqlSelect = @sqlSelect +
'CI2.LATITUDE AS CITYLATITUDE …Run Code Online (Sandbox Code Playgroud) 我是Azure Service Bus的新手,我正在尝试建立用于排队消息的事务策略。由于SQL Azure不支持MSDTC,因此不支持MSDTC,因此无法使用它。因此,我有一个可以手动处理数据库事务的工作单元。
问题是我只能找到使用TransactionScope来处理数据库和Azure Service Bus操作的人员。在不使用TransactionScope的情况下,还有其他神奇的方法可以在Service Bus上实现事务吗?
谢谢。
这是一个很长的问题,但如果我能就此得到一些好的建议,我将非常感激.简而言之,我正在寻找一种用于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
我使用以下命令执行sqlpackage以导出本地数据库的bacpac.
"C:\ Program Files(x86)\ Microsoft SQL Server\110\DAC\bin\sqlpackage.exe"/ action:Export /tf:".\dbname_Baseline.bacpac"/ SourceConnectionString:"XXXXXXXXXXXX"
它无法说"元素主键:[dbo].[PK_Name]具有不受支持的属性FillFactor设置,并且在用作数据包的一部分时不受支持."
我理解不支持fillfactor但有什么可以忽略不支持的属性吗?
谢谢
标记
我准备放弃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) 为了处理SQL超时我正在尝试使用SqlAzureExecutionStrategy(https://msdn.microsoft.com/en-us/data/dn456835.aspx)
我遇到的问题是,它可以防止"用户发起的交易",这似乎是实施"与(NOLOCK)",在EF(推荐方式http://www.hanselman.com/blog/GettingLINQToSQLAndLINQToEntitiesToUseNOLOCK.aspx,NOLOCK与Linq to SQL).
示例代码
public AspnetUser GetAspnetUserByUserName(string userName)
{
using (var tx = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions() { IsolationLevel = IsolationLevel.ReadUncommitted }))
{
return context.AspnetUsers.Where(x => x.UserName == userName).FirstOrDefault();
}
}
Run Code Online (Sandbox Code Playgroud)
抛出错误
配置的执行策略"SqlAzureExecutionStrategy"不支持用户启动的事务.有关其他信息,请参阅http://go.microsoft.com/fwlink/?LinkId=309381.
我已经看到了在每次调用的基础上关闭SqlAzureExecutionStrategy的答案,但是如果我的所有读取都忽略了策略,那将无法使用它.可以同时拥有"NoLock"和SqlAzureExecutionStrategy
linq entity-framework azure entity-framework-6 azure-sql-database
我已经使用MongoDB为Heroku部署了一些站点,但这是我第一次使用SQL创建一个站点并尝试部署到Azure,所以我可能会遗漏一些明显的东西.
我一直在使用Node.js,一个SQL Server数据库和Sequelize作为ORM在我的开发机器上开发一个网站.一切正常,但当我尝试使用连接字符串部署到Azure时,我无法连接SQL Azure数据库.我可以使用SQL Server Management Studio连接Azure上的空数据库,所以我确定我的连接信息是正确的.
当我尝试部署到Azure时,我尝试使用Azure提供的连接字符串:
var Sql = require('sequelize');
var sql = new Sql('Driver={SQL Server Native Client 11.0};Server=tcp:server.database.windows.net,1433;Database=databasename;Uid=UserName@server;Pwd={password};Encrypt=yes;TrustServerCertificate=no;Connection Timeout=30;');Run Code Online (Sandbox Code Playgroud)
当我尝试连接此字符串时,我得到的错误是:
C:\Users\username\Documents\GitHub\event-site\node_modules\sequelize\lib\sequelize.js:110
options.dialect = urlParts.protocol.replace(/:$/, '');
^
TypeError: Cannot read property 'replace' of null
at new Sequelize (C:\Users\v-mibowe\Documents\GitHub\event-site\node_modules\sequelize\lib\sequelize.js:110:40)
at Object.<anonymous> (C:\Users\v-mibowe\Documents\GitHub\event-site\routes\db-routes.js:68:11)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (C:\Users\v-mibowe\Documents\GitHub\event-site\server.js:16:1)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
at …Run Code Online (Sandbox Code Playgroud)azure ×5
sql ×2
sql-server ×2
bacpac ×1
c# ×1
dacpac ×1
export ×1
fillfactor ×1
linq ×1
node.js ×1
performance ×1
sequelize.js ×1
transactions ×1