我将更改SQL Azure上的主键.但是,当使用Microsoft SQL Server Management Studio生成脚本时,它会引发错误.因为SQL Azure上的每个表都必须包含主键.在创建之前我不能放弃它.如果我必须改变它,我该怎么办?
脚本生成
IF EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[mytable]') AND name = N'PK_mytable')
ALTER TABLE [dbo].[mytable] DROP CONSTRAINT [PK_mytable]
GO
ALTER TABLE [dbo].[mytable] ADD CONSTRAINT [PK_mytable] PRIMARY KEY CLUSTERED
(
[id] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF)
GO
Run Code Online (Sandbox Code Playgroud)
错误信息
Msg 40054, Level 16, State 2, Line 3
Tables without a clustered index are not supported in this version of SQL Server. Please create a clustered index …Run Code Online (Sandbox Code Playgroud) 我有一个数据库,我正在迁移到SQL Azure.此数据库中有几个依赖于ContainsTable的存储过程.根据我的理解,SQL Azure不支持这一点.因此,我希望有一种方法可以在C#代码中模仿这个功能.
有谁知道如何:a)在SQL Azure中使用ContainsTable或b)在C#代码中模仿它?
我在azure中设置了一组资源组合在一起的资源.我希望我的服务位于西欧,所以我的所有资源都在那里(如果可能的话)
我刚刚注意到,在创建资源组时,我意外地使用了West US.
所以目前的设置是:
资源组1(美国西部)
我是否可以更改资源组的位置而无需创建新资源组并进行迁移?
也许更重要的是:我应该改变位置还是不影响任何东西?
谢谢!
azure azure-storage azure-web-sites azure-resource-manager azure-sql-database
我正在开发一个MVC3站点,我对ASP.NET成员资格有一个令人费解的问题.我正在使用连接到SQL Azure数据库的System.Web.Providers 1.0.1.
就像现在一样,当在Azure下正常运行时,在Compute Emulator下运行时登录我的相同用户名/密码失败.我可以看到它正在使用正确的数据库,因为正在更新成员资格数据库中的Failed Password Attempts计数器.
asp.net-membership azure membership-provider asp.net-mvc-3 azure-sql-database
让我先说这个问题,我说我既不是数据库也不是Azure专家.
似乎MS根据Sql Azure dbase的大小和数量而不是服务器的数量来收费.因此,在每个服务器实例上放置一个dbase似乎是可行的.我的理解是,有时将数据库放在单独的物理服务器上而不是在高使用场景中的一台机器上更有利.是否/可能同样适用于Sql Azure虚拟服务器?以下是我可以找到的有关Sql Azure服务器实例的信息:
SQL Azure服务器是一个逻辑数据库组,充当多个数据库的中央管理点.每个SQL Azure服务器都包含与您所在位置的SQL Server实例类似的登录."(SQL Azure Provisioning Model)
我还要补充一点,虽然所有数据库都将由相同的Web角色访问和使用,但是没有一个数据库会直接相互需要数据.
你认为我能够谷歌这么简单的问题.但无论我尝试什么,我都会碰到一堵砖墙.
查找具有表权限的角色列表的TSQL语句是什么?
伪代码如下所示:
SELECT role_name
FROM permissions
where object_name = 'the_table_i_need_to_know_about'
Run Code Online (Sandbox Code Playgroud) 看起来Azure存储模拟器省略了SQL Azure.它是否成立?那么如何在不将其部署到实时云的情况下测试使用SQL Azure的应用程序?
目前正在使用Entity Framework 5处理ASP.Net MVC 4应用程序.使用CodeFirst进行初始开发阶段.但现在已禁用自动迁移并直接使用SSMS设计新表并编写POCO.一切都很好.
最近,在生产中发现了一个奇怪的问题.其中一个最初设计的表中的记录跳过自动增量标识值超过900个数字.这在过去3个月内发生了3次.在本地调试应用程序但无法重现.没有观察到任何模式或趋势.
模型:
public class Enquiry
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public Int64 EnquiryId { get; set; }
[Required]
public int UserId { get; set; }
[Required]
public byte Bid { get; set; }
...
[Required]
public DateTime Created { get; set; }
[Required]
public DateTime Modified { get; set; }
}
public class EnquiryDetail
{
[Key]
public Int64 EnquiryId { get; set; }
[Required]
public int CreditScore { get; set; }
[Required]
public byte BidMode { get; …Run Code Online (Sandbox Code Playgroud) sql-server entity-framework asp.net-mvc-4 entity-framework-5 azure-sql-database
我们有一个ASP .NET(MVC)应用程序,并使用Entity Framework 6连接到我们的数据库.DbContext以标准方式构造,并代表我们加载连接字符串.生成的代码如下所示:
public partial class MyContext : DbContext
{
public MyContext(string connectionName)
: base("name=" + connectionName)
{
}
}
Run Code Online (Sandbox Code Playgroud)
我们还以标准方式在本地web.config中设置连接字符串:
<configuration>
<connectionStrings>
<add name="DefaultConnection"
connectionString="metadata=...;provider connection string="...""
providerName="System.Data.EntityClient" />
Run Code Online (Sandbox Code Playgroud)
当我们将应用程序发布到Azure时,我们导航到Azure门户,然后导航到Web App的设置,然后导航到连接字符串列表.我们在那里添加了我们在本地使用的EF连接字符串.当我们重新启动并访问应用程序时,我们会得到一个运行时错误,具体取决于我们选择的连接字符串的类型.
对于Custom类型,我们得到以下运行时错误:
不支持关键字:'数据源'.
对于SQL Server或SQL Database我们得到以下运行时错误:
不支持关键字:'元数据'.
这看起来真是一个简单的故事,所以我们想知道出了什么问题.
asp.net entity-framework azure azure-web-sites azure-sql-database
我正在使用EF Core连接到已部署到Azure App Services的Azure SQL数据库。我正在使用访问令牌(通过托管身份获取)连接到Azure SQL数据库。
这是我的做法:
Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
//code ignored for simplicity
services.AddDbContext<MyCustomDBContext>();
services.AddTransient<IDBAuthTokenService, AzureSqlAuthTokenService>();
}
Run Code Online (Sandbox Code Playgroud)
MyCustomDBContext.cs
public partial class MyCustomDBContext : DbContext
{
public IConfiguration Configuration { get; }
public IDBAuthTokenService authTokenService { get; set; }
public CortexContext(IConfiguration configuration, IDBAuthTokenService tokenService, DbContextOptions<MyCustomDBContext> options)
: base(options)
{
Configuration = configuration;
authTokenService = tokenService;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
SqlConnection connection = new SqlConnection();
connection.ConnectionString = Configuration.GetConnectionString("defaultConnection");
connection.AccessToken = authTokenService.GetToken().Result;
optionsBuilder.UseSqlServer(connection);
}
}
Run Code Online (Sandbox Code Playgroud)
AzureSqlAuthTokenService.cs …
azure-active-directory entity-framework-core azure-sql-database ef-core-2.2
azure ×6
sql-server ×2
t-sql ×2
.net ×1
asp.net ×1
database ×1
debugging ×1
ef-core-2.2 ×1
instance ×1
permissions ×1
sql ×1