使用VS2010 SP1数据层应用程序项目,我创造我可以在简单的数据库:错误部署DACPAC到SQL Azure的服务器
CREATE TABLE [dbo].[Table1] ( column_1 int NOT NULL, column_2 int NULL )
然后我成功地构建了.dacpac,并验证它通过使用SSMS 2008 R2将其部署到本地SQL Express实例(一切正常)。
然后我尝试使用SSMS 2008 R2将.dacpac部署到SQL Azure服务器。该向导设法完成了每一步(包括创建数据库和创建模式),但最后一步失败 - “在DAC元数据中注册DAC” - 带有IndexOutOfRangeException(请参见下文)。
我试图针对现有的SQL Azure服务器,针对新的SQL Azure服务器(都以相同的异常失败)以及针对具有相同名称的空数据库的SQL Azure服务器(此失败与SSMS运行时异常)。
我现在没有想法。有关如何将.dacpacs部署到SQL Azure的任何想法将不胜感激。
System.IndexOutOfRangeException:索引超出了 数组的范围。在在 Microsoft.SqlServer.Management.Smo.SqlSmoObject Microsoft.SqlServer.Management.Smo.SqlPropertyMetadataProvider.PropertyNameToIDLookupWithException(字符串 propertyName的,PropertyAccessPurpose PAP)在 Microsoft.SqlServer.Management.Smo.SqlSmoObject.GetDbComparer(布尔 inServer) .InitializeStringComparer() 在 Microsoft.SqlServer.Management.Smo.AbstractCollectionBase.get_StringComparer() 在 Microsoft.SqlServer.Management.Smo.SimpleObjectCollectionBase.InitInnerCollection() 在 Microsoft.SqlServer.Management.Smo.SmoCollectionBase.get_InternalStorage () at Microsoft.SqlServer.Man agement.Smo.SmoCollectionBase.GetObjectByKey(ObjectKeyBase 键)在 Microsoft.SqlServer.Management.Smo.DatabaseCollection.get_Item(字符串 名)在Microsoft.SqlServer.Management.Dac.RegisterDacStep.Execute() 在 Microsoft.SqlServer .Management.Dac.TransactionalActionManager.ManagedActionStep.TransactionalStep.DoExecute() 在 Microsoft.SqlServer.Management.Dac.TransactionalActionManager.ManagedActionStep.Execute() 在 Microsoft.SqlServer.Management.Dac.TransactionalActionManager.ExecuteActionSteps(IEnumerable`1 managedActionSteps)at Microsoft.SqlServer.Management.Dac.TransactionalActionManager.Go()at Microsoft.Sq lServer.Management.Dac.DacStore.Install(DacType dacType, DatabaseDeploymentProperties deploymentProperties,布尔 skipPolicyValidation,布尔skipDacRegistration)
这对本地部署很好,但不能将其安装在执行我们部署的VSTS托管构建代理上。 – 2017-07-16 09:13:22