1

問題:

Powershell スクリプトを使用して DACPAC を展開できません。このスクリプトは、リリース管理用に構成された約 20 の他のデータベース サーバーで機能します。

作業環境:

  1. Windows Server 2008 R2
  2. パワーシェル 2.0
  3. SQL Server 2008 R2 64 ビット
  4. Visual Studio プレミアム 2012 Update 4
  5. Visual Studio 2012 用の SQL Server データ ツール
  6. Visual Studio 2013 Update 4 の Release Management Deployer

動作しない環境:

  1. Windows Server 2008 R2
  2. パワーシェル 2.0
  3. SQL Server 2012 64 ビット
  4. Visual Studio プレミアム 2012 Update 4
  5. Visual Studio 2012 用の SQL Server データ ツール
  6. Visual Studio 2013 Update 4 の Release Management Deployer

指図:

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>

ログ:

データベースへの公開 配置の初期化中 (開始) 配置の初期化中 (失敗) 予期しないエラーが発生しました: 算術演算でオーバーフローが発生しました..

未処理の例外: System.OverflowException: 算術演算でオーバーフローが発生しました。System.Data.SqlClient.TdsParser.ConsumePreLoginHandshake (ブール値の暗号化、ブール値の trustServerCert、ブール値の IntegratedSecurity、ブール値 & marsCapable) で System.Data.SqlClient.TdsParser.Connect (ServerInfo serverInfo、SqlInternalConnectionTds connHandler、ブール値の ignoreSniOpenTimeout、Int64 timerExpire、ブール値の暗号化、ブール値trustServerCert、Boolean integratedSecurity、Boolean withFailover) の System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo、文字列 newPassword、SecureString newSecurePassword、Boolean ignoreSniOpenTimeout、TimeoutTimer タイムアウト、Boolean withFailover) の System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo) 、1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSourceMicrosoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil 1 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. <> 1 token) at Microsoft.Data.Tools.Schema.Common.SqlClient.RetryPolicy.ExecuteAction(Actionc__DisplayClass8 . Microsoft.Data.Tools.Schema.CommandLineTool.DacServiceUtil.ExecuteDeployOperation(String connectionString, String filePath, MessageWrapper messageWrapper, Boolean sourceIsPackage, Boolean targetIsPackage, Func 2 generateScriptFromDatabase) の b__0 (DacServices サービス) Microsoft.Data.Tools.Schema.CommandLineTool で。 DacServiceUtil.DoDeployAction(DeployArguments parsedArgs, Action1 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, Action1 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, Nullable1 generateScriptFromPackage, Func1 writeError, Action2 writeMessage、Action`1 writeWarning、CancellationToken cancelToken) Microsoft.Data.Tools.Schema.CommandLineTool.Program.DoDeployActions(CommandLineArguments parsedArgs) Microsoft.Data.Tools.Schema.CommandLineTool.Program.PerformAction(CommandLineArguments parsedArgs) Microsoft. Microsoft.Data.Tools.Schema.CommandLineTool.Program.Main(String[] args) の Data.Tools.Schema.CommandLineTool.Program.Run(String[] args)

追加コメント:

2 つの環境の唯一の違いは、SQL Server のバージョンです。ただし、SQL Server 2012 が動作しているサーバーがあります。

サービスの ID として Powershell スクリプトを実行しました: Microsoft Deployment Agent ... same log file error; ただし、sqlpackage.exe は次のエラーをスローしています。

問題の署名: 問題イベント名: CLR20r3 問題の署名 01: sqlpackage.exe 問題の署名 02: 12.0.2743.1 問題の署名 03: 5438200c 問題の署名 04: System.Data 問題の署名 05: 4.0.30319.18408 問題の署名 06: 52310bef 問題の署名 07: 28B2問題署名08:6E問題署名09:System.OverFlowException OSバージョン:6.1.7601.2.1.0.272.7ロケールID:1033追加情報1:D90E追加情報2:D90EE7D582C41AE7B6B96CA9C

4

2 に答える 2

1

問題:

このサーバーは、SQL Server 2005 から SQL Server 2012 にアップグレードされ、リリース管理を介して DACPAC 展開 (SSDT) が有効になっています。アップグレードの手順は、稼働中の他のすべてのデータベース サーバーとは異なります。SSDT と RM は SQL Server 2012 の後に (以前ではなく) インストールされました

解決策:

次の手順でデータベース サーバーを再構築します。

  • ドメイン ユーザーとグループをローカル グループに追加: 管理者 (再起動)
  • 役割を追加:
    • Web サーバー (IIS) (再起動)
  • 機能を追加:
    • デスクトップ エクスペリエンス (再起動)
    • リモート サーバー管理ツール
    • SMTP サーバー
    • SNMP サービス
    • Windows Powershell 統合スクリプト環境 (ISE)
    • Windows プロセス アクティベーション サービス
    • WinRM IIS 拡張機能
  • Windows Update のインストール (再起動)
  • 仮想 CloneDrive をインストールする
  • Visual Studio 2013 Update 4 用の Release Management Deployer をインストールして構成する
  • サーバーの登録: DEVSQL2 とリリース管理サーバー
  • PowerShell を構成する (set-executionpolicy remotesigned)
  • Visual Studio 2012 用の SQL Server Data Tools (SSDT) をインストールする
  • Windows Update のインストール (再起動)
  • SQL Server 2005 (64 ビット) をインストールします (既定のインスタンス)
  • Server 2005 Enterprise (64 ビット) Update 4 (既定のインスタンス) をインストールします。
  • Windows Update のインストール (再起動)
  • SQL Server の表面積を構成する
  • SQL Server Reporting Services (SSRS) を構成する
  • 「デフォルト」ディレクトリを構成する
  • tempdb ファイルを移動する
  • 「標準」のログイン/ロールを作成する
  • 「ゴールデン」データベースの復元
  • TFS プロジェクトの RM 展開 -合格
  • SQL Server 2012 Enterprise (64 ビット) をインストールします (既定のインスタンス)
  • Windows Update のインストール (再起動)
  • TFS プロジェクトの RM 展開 -合格
于 2015-01-19T13:39:40.547 に答える