我希望使用Windows Azure和SQL Azure构建一个新网站.有没有人知道我可以用作Web角色的任何商业或免费CMS系统,它们将连接并使用SQL Azure作为存储?
我一直在努力研究是否可以使用SSMS这样的GUI来管理(即添加表,修改它们,创建存储过程)SQL Azure数据库,并且我不断遇到不同的答案.
我在2009年底发现了一篇帖子,说它会在SSMS中得到支持,但我不确定是否包含Express版本?有人知道快递版本的最新更新是什么以及它是否支持它?
我认为我说它在Visual Web Developer 2010中无法完成(而且我买不起全胖的VS2010).
我准备考虑替代方案,但是如果有人知道任何与SQL azure一起使用的完整功能GUI工具,并且我不介意支付商业许可证,如果它不是太昂贵.
谢谢.
我找到了许多使用的主题:
DBCC CHECKIDENT ('table', RESEED, 0)
Run Code Online (Sandbox Code Playgroud)
但Azure SQL不支持此功能.有人知道如何轻松地做到这一点吗?
非常感谢 !
我正进入(状态
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) 我有一个大约9GB的Azure Sql数据库.它提供一个Web应用程序,每小时处理大约135K请求.大多数数据都是短暂的,它会在几分钟到五天内存放在数据库中并被删除.每天大约10GB通过数据库移动.
我试图在表上运行删除查询,从350,000条记录中删除约250,000条记录.大约10%的记录有一个或两个nvarchar(max)值足够大,可以存储在LOB存储中.
在周末,我试图一次删除它们.它在我取消查询之前运行了四个小时,然后它又回来了8个小时 - 糟糕的举动.我真的没想到它会那么糟糕.
然后我尝试了另一种方法.这个批处理在晚上运行,当时Web应用程序每小时处理大约100K请求.tblJobs Id字段是唯一标识符,它是主键.
insert @tableIds select Id from dbo.tblJobs with(nolock)
where (datediff(day, SchedDate, getDate()) > 60)
or (datediff(day, ModifiedDate, getDate()) > 3 and ToBeRemoved = 1)
set @maintLogStr = 'uspMaintenance [tblJobs] Obsolete J records count @tableIds: ' + convert(nvarchar(12), (select count(1) from @tableIds))
insert dbo.admin_MaintenanceLog(LogEntry) values(@maintLogStr)
set @maintLogId = newid()
set @maintLogStr = 'uspMaintenance [tblJobs] Obsolete J records beginning loop...'
insert dbo.admin_MaintenanceLog(Id, LogEntry) values(@maintLogId, @maintLogStr)
while exists(select * from @tableIds)
begin
delete @tableIdsTmp
begin transaction …Run Code Online (Sandbox Code Playgroud) 我们决定对Azure数据库使用微操作.由于我们的业务只需要"插入"和"选择",我们决定禁止所有代码管理SqlTransaction(没有数据的并发问题).
然后,我们注意到我们的Azure数据库实例反应非常缓慢." rpc completed "事件发生的延迟是运行简单sql语句所需时间的数百倍.
接下来,我们使用EF6对代码进行基准测试,我们发现服务器响应非常快.当EF6实现内置事务时,我们决定恢复SqlTransaction微观orm上的(ReadCommited),我们发现一切都很好.
Azure数据库是否需要显式SqlTransaction(由代码管理)?SqlTransactionAzure数据库的表现如何影响?为什么这样实现?
编辑:我将发布一些关于我们收集痕迹的方式的更准确的信息.我们的Azure事件日志有时以纳秒表示,有时以毫秒为单位.看起来很奇怪.
ado.net distributed-transactions micro-orm entity-framework-6 azure-sql-database
是否可以更改azure服务器使用的端口?我目前只看到添加可用于访问服务器的IP地址的功能.或者是否要求防火墙允许端口1433出站流量?
我有一个像这样的存储过程:
select
TransactionDate
from
(select
cast(TransactionDate as Date) as TransactionDate
from RetailTransaction) t
Run Code Online (Sandbox Code Playgroud)
但是,这使得TransactionDate外部选择的RetailTransaction.TransactionDate列可以为空,而列不为空.
RetailTransaction.TransactionDate 定义/设计:
内部选择:
外选择:
即使在添加isnull或coalesceSQL Server/SSMS之后仍然显示外部选择TransactionDate列仍然可以为空.
select
TransactionDate
from
(select
isnull(cast(TransactionDate as Date), getdate()) as TransactionDate
from
RetailTransaction) t
Run Code Online (Sandbox Code Playgroud)
如何使TransactionDate列不可为空?
请注意,该数据库位于Azure上,兼容级别为100(SQL Server 2008).
编辑:
isnull在外部选择上添加仍然使列可以为外部嵌套查询:
我已经配置了我的 Azure SQL Server,以便我成为服务器管理员,我的帐户也启用了 MFA。我试图遵循此文档,但它没有提及任何有关具有 MFA 的 Active Directory 的内容。
我可以使用我的帐户和 MFA 使用 SQL Management studio 正常登录服务器
最初我尝试过(基于新的SqlAuthenticationMethod Enum):
SqlConnection con = new SqlConnection("Server=tcp:myapp.database.windows.net;Database=CustomerDB;Authentication=Active Directory Interactive;Encrypt=True;UID=User@User.co.uk"))
Run Code Online (Sandbox Code Playgroud)
错误:
“找不到‘ActiveDirectoryInteractive’的身份验证提供程序。”
然后我看到了有关通过 Azure 应用程序访问 SQL 的信息,但这不是我想要做的。
这个SO问题讨论了在没有提供者的情况下进行连接并Driver在连接字符串中设置
SqlConnection con = new SqlConnection("DRIVER={ODBC Driver 17 for SQL Server};Server=tcp:myapp.database.windows.net;Database=CustomerDB;Authentication=Active Directory Interactive;Encrypt=True;UID=User@User.co.uk"))
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
“不支持关键字:‘驱动程序’。”
是否有办法编写一个连接字符串,以便在尝试连接时弹出 Microsoft 身份验证框以引导用户完成多因素身份验证?
当我扫描数据库时,它显示诸如 VA1143 'dbo' 用户不应用于漏洞评估扫描中的正常服务操作之类的结果之一
他们建议“创建具有低权限的用户来访问数据库以及存储在其中的任何数据,并具有适当的权限集。”
我已经浏览了所有表格的相同内容,但还无法得到正确的建议。您能否提出您的想法或我必须在哪里创建用户并授予权限。因为我们的数据库中只有一种模式结构。