ВОПРОС:Release Management> DACPAC - арифметическая операция приводит к переполнению
Невозможно развернуть DACPAC с помощью Powershell скрипт. Этот скрипт работает примерно на 20 других серверах баз данных, которые были настроены для управления выпуском.
РАБОЧАЯ СРЕДА:
- Windows Server 2008 R2
- Powershell 2.0
- SQL Server 2008 R2 64-разрядные
- Visual Studio Premium 2012 Update 4 Инструменты
- SQL Server Data для Visual Studio 2012
- Управление развертыванием Deploymenter для Visual Studio 2 013 Update 4
НЕ РАБОЧИЕ СРЕДЫ:
- Windows Server 2008 R2
- Powershell 2,0
- SQL Server 2012 64 бит
- Visual Studio Premium 2012 Update 4
- Инструменты данных SQL Server для Visual Studio 2012
- Release Management Deployer для Visual Studio 2013 Update 4
КОМАНДА:
C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\sqlpackage.exe
/Action:Publish
/SourceFile:"\\<Server>\Builds\<BuildDefinition>\<BuildNumber>\Databases\Arsenal\Arsenal.dacpac"
/Profile:"\\<Server>\Builds\<BuildDefinition>\<BuildNumber>\Deployment\Configuration\Databases\Publish_DEFAULT.xml"
/p:TreatVerificationErrorsAsWarnings="True"
/v:BuildNumber="<BuildNumber>"
где:
Publish_DEFAULT.xml
содержит следующие ключи:
<?xml version="1.0"?>
<Configurations>
<Properties>
<Property key="IncludeCompositeObjects" value="True" />
<Property key="ScriptDatabaseOptions" value="True" />
<Property key="BlockOnPossibleDataLoss" value="False" />
<Property key="DropObjectsNotInSource" value="True" />
<Property key="DropRoleMembersNotInSource" value="True" />
<Property key="DropPermissionsNotInSource" value="True" />
<Property key="DeployDatabaseInSingleUserMode" value="True" />
<Property key="BackupDatabaseBeforeChanges" value="False" />
<Property key="GenerateSmartDefaults" value="True" />
<Property key="TreatVerificationErrorsAsWarnings" value="True" />
</Properties>
<SQLCmdVariables>
<SQLCmdVariable key="BuildNumber" value="UNKNOWN" />
<SQLCmdVariable key="DeployLoadTestData" value="False" />
<SQLCmdVariable key="DeployPurgeData" value="False" />
</SQLCmdVariables>
</Configurations>
LOG:
Публикация в базе данных Инициализация развертывания (Старт) Инициализация развертывания (Сбой) Неожиданное произошел сбой: Арифметические операции привело к переполнению ..
Unhandled Exception: System.OverflowException: Arithmetic operation resulted in an overflow. at System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake(Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean& marsCapable) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.<OpenConnection>b__0() at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.<>c__DisplayClass4.<ExecuteAction>b__3(RetryState retryState) at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction[R](Func
2 func, Nullable1 token) at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction(Action
1 action, Nullable1 token) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableSqlConnection.OpenConnection() at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.OpenConnection(String connectionString, Boolean useRetry) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.OpenConnection(SqlConnectionStringBuilder csb, Action
1 usingConnection, Predicate1 catchException, Boolean useRetry) at Microsoft.Data.Tools.Schema.Common.SqlClient.ReliableConnectionHelper.GetServerAndDatabaseVersion(String connectionString, ServerAndDatabaseInfo& info) at Microsoft.Data.Tools.Schema.Sql.SqlDatabaseSchemaProviderFamily.DetermineDatabaseSchemaProvider(String connectionString) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentEndpointServer.GetProviderType(DatabaseSchemaProviderFamily connectionSniffer, String connectionString, Type& providerType, Boolean& validDataSource) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentEndpointServer.OnInit(ErrorManager errors, String targetDBName) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeployment..ctor(SqlDeploymentConstructor constructor) at Microsoft.Data.Tools.Schema.Sql.Deployment.SqlDeploymentConstructor.ConstructServiceImplementation() at Microsoft.SqlServer.Dac.DacServices.CreatePackageToDatabaseDeployment(String connectionString, IPackageSource packageSource, String targetDatabaseName, DacAzureDatabaseSpecification creationDefaults, DacDeployOptions options, ErrorManager errorManager) at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<>c__DisplayClass5.<CreatePlanInitializationOperation>b__1() at Microsoft.Data.Tools.Schema.Sql.Dac.OperationLogger.Capture(Action action) at Microsoft.SqlServer.Dac.DeployOperation.<>c__DisplayClass3.<CreatePlanInitializationOperation>b__0(Object operation, CancellationToken token) at Microsoft.SqlServer.Dac.Operation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.ReportMessageOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.CompositeOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.DeployOperation.Microsoft.SqlServer.Dac.IOperation.Run(OperationContext context) at Microsoft.SqlServer.Dac.OperationExtension.Execute(IOperation operation, DacLoggingContext loggingContext, CancellationToken cancellationToken) at Microsoft.SqlServer.Dac.DacServices.InternalDeploy(IPackageSource packageSource, Boolean isDacpac, String targetDatabaseName, DacAzureDatabaseSpecification creationDefaults, DacDeployOptions options, CancellationToken cancellationToken, DacLoggingContext loggingContext) at Microsoft.SqlServer.Dac.DacServices.Deploy(DacPackage package, String targetDatabaseName, Boolean upgradeExisting, DacDeployOptions options, Nullable
1 cancellationToken) at Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.<>c__DisplayClass8.b__0(DacServices service) at Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.ExecuteDeployOperation(String connectionString, String filePath, MessageWrapper messageWrapper, Boolean sourceIsPackage, Boolean targetIsPackage, Func1 generateScriptFromPackage, Func
2 generateScriptFromDatabase) at Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.DoDeployAction(DeployArguments parsedArgs, Action1 writeError, Action
2 writeMessage, Action`1 writeWarning, CancellationToken cancellationToken) at Microsoft.Data.Tools.Schema.CommandLineTool.Program.DoDeployActions(CommandLineArguments parsedArgs) at Microsoft.Data.Tools.Schema.CommandLineTool.Program.PerformAction(CommandLineArguments parsedArgs) at Microsoft.Data.Tools.Schema.CommandLineTool.Program.Run(String[] args) at Microsoft.Data.Tools.Schema.CommandLineTool.Program.Main(String[] args)
Дополнительный комментарий:
Единственное отличие между двумя средами - это версия SQL Server ... Однако у меня есть сервер с SQL Server 2012, который работает!
Я запустил сценарий Powershell как идентификатор службы: агент развертывания Microsoft ... такая же ошибка файла журнала; однако, sqlpackage.ехе бросает следующее сообщение об ошибке:
Сигнатура проблемы: Имя события проблемы: CLR20r3 Проблема Подпись 01: sqlpackage.exe Проблема Подпись 02: 12.0.2743.1 Проблема Подпись 03: 5438200c Проблема Подпись 04: System.Data проблемы Signature 05: 4.0.30319.18408 проблемы Подпись 06: 52310bef проблемы Подпись 07: 28b2 проблемы Signature 08: ая проблемы Подпись 09: System.OverflowException Версия ОС: 6.1.7601.2.1.0.272.7 Locale ID: 1033 Дополнительная информация 1: d90e Дополнительная информация 2: d90ee7d582c41ae7b6b96ca9c0463ab1 Дополнительная информация 3: 5e41 Дополнительная информация 4: 5e414a69026c10f11cc9c0b8e675c3aa
Это, безусловно, SSDT проблема, а не проблема RM ...вы можете принудительно переустановить SSDT? –