- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 Azure 中有一个发布管道,我在其中传递一个 .dacpac 工件(使用 VStudio 创建)以部署在本地 Sql Server 2016 中。它运行良好,但现在我想删除表、 View 、函数和通过 .dacpac 在我的服务器上存储过程。所以我在我的 VS 项目中这样做了,然后尝试使用选项 /p:DropObjectsNotInSource=True
进行部署。连同 /p:DoNotDropObjectType
甚至/p:ExcludeObjectType
排除我不想丢弃的东西。
但是不管这些过滤器如何,一旦作业开始,表就会被删除(如预期的那样),但随后它会删除数据库用户。它还会删除我用于安装 Azure 代理的登录名的 db_owner 映射,然后尝试删除该登录名(与配置为在部署期间进行身份验证的用户相同)。然后失败并出现此错误:
Error SQL72014: .Net SqlClient Data Provider: Msg 15151, Level 16, State 1, Line 1 Cannot drop the user '<Domain>\<User>', because it does not exist or you do not have permission.
这很明显,因为用户对数据库的权限刚刚被删除。有什么避免这种情况的建议,或者我唯一的选择是在完成后重新创建用户/权限?或者不完全使用该标志并通过部署后脚本执行所有“删除对象管道”?
作为引用,在我的发布任务中设置的附加参数是(它看起来很奇怪但是没有办法只指定我想删除的对象):
/p:DropObjectsNotInSource=True /p:BlockOnPossibleDataLoss=false /p:DoNotDropObjectType="Aggregates,ApplicationRoles,Assemblies,AsymmetricKeys,BrokerPriorities,Certificates,ColumnEncryptionKeys,ColumnMasterKeys,Contracts,DatabaseRoles,DatabaseTriggers,Defaults,ExtendedProperties,ExternalDataSources,ExternalFileFormats,ExternalTables,Filegroups,FileTables,FullTextCatalogs,FullTextStoplists,MessageTypes,PartitionFunctions,PartitionSchemes,Permissions,Queues,RemoteServiceBindings,RoleMembership,Rules,SearchPropertyLists,SecurityPolicies,Sequences,Services,Signatures,SymmetricKeys,Synonyms,UserDefinedDataTypes,UserDefinedTableTypes,ClrUserDefinedTypes,Users,XmlSchemaCollections,Audits,Credentials,CryptographicProviders,DatabaseAuditSpecifications,DatabaseScopedCredentials,Endpoints,ErrorMessages,EventNotifications,EventSessions,LinkedServerLogins,LinkedServers,Logins,Routes,ServerAuditSpecifications,ServerRoleMembership,ServerRoles,ServerTriggers" /p:ExcludeObjectType="Aggregates,ApplicationRoles,Assemblies,AsymmetricKeys,BrokerPriorities,Certificates,ColumnEncryptionKeys,ColumnMasterKeys,Contracts,DatabaseRoles,DatabaseTriggers,Defaults,ExtendedProperties,ExternalDataSources,ExternalFileFormats,ExternalTables,Filegroups,FileTables,FullTextCatalogs,FullTextStoplists,MessageTypes,PartitionFunctions,PartitionSchemes,Permissions,Queues,RemoteServiceBindings,RoleMembership,Rules,SearchPropertyLists,SecurityPolicies,Sequences,Services,Signatures,SymmetricKeys,Synonyms,UserDefinedDataTypes,UserDefinedTableTypes,ClrUserDefinedTypes,Users,XmlSchemaCollections,Audits,Credentials,CryptographicProviders,DatabaseAuditSpecifications,DatabaseScopedCredentials,Endpoints,ErrorMessages,EventNotifications,EventSessions,LinkedServerLogins,LinkedServers,Logins,Routes,ServerAuditSpecifications,ServerRoleMembership,ServerRoles,ServerTriggers"
最佳答案
所以,我对自己说:我最初的尝试有两处错误:
/p:ExcludeObjectTypes
所以,通过类似下面的内容,我实现了我想要的:
/p:ExcludeObjectTypes=Users;Logins;RoleMembership;Permissions;Credentials;DatabaseScopedCredentials
关于sql-server - 使用 Azure Pipeline 中的 SqlPackage 部署 DACPAC 忽略参数并删除用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59076039/
在 VS 2012 中,架构比较工具允许用户通过选择“存储过程”选项作为应用程序范围对象来仅比较“存储过程”。 有没有办法使用 SqlPackage.exe 只对选定的模式对象执行模式比较? 最佳答案
我有一个在 powershell 中运行的脚本。我使用带有用户名和密码的 sql 登录,而不是这样做我想使用带有用户名和密码的域用户。 sqlpackage.exe /SourceFile:"" /A
我在 Visual Studio 2017 中有一个数据库项目。我们的数据库项目的管理方式与任何其他代码库一样,多个开发人员可以根据需要更新项目。为了减轻部署的痛苦,我在我们的 TFS 2018 (v
我正在尝试使用 sqlpackage发表思想的工具CMD : sqlpackage /action:Publish /SourceFile:"Database Services\bin\Release
我正在运行以下 sqlpackage命令反对我的 sqlserver : sqlpackage /action:Publish /SourceFile:"Database Services\bin\
使用 SqlPackage.exe 将 Azure 数据库迁移到 V12 预览版以导出并将数据库导入到本地计算机后,出现错误: Error SQL72014: .Net SqlClient Data
使用 SqlPackage.exe 将 Azure 数据库迁移到 V12 预览版以导出并将数据库导入到本地计算机后,出现错误: Error SQL72014: .Net SqlClient Data
全部, 我想在 CI 过程中创建一个包含目标数据库架构的 DACPAC 文件。我可以将其用作基线模式来创建一个测试平台,我可以根据它测试发布中的脚本。 SqlPackage.exe /TargetFi
我们使用 PowerShell 脚本来部署 SQL 数据库。此脚本使用 SqlPackage.exe 实用程序发布我们的主数据库,它工作正常,直到我们将 SSDT 升级到最新版本 SSDT 2015
我使用 VS2015 在 Release模式下构建我的数据库项目,然后将生成的 .dacpac 文件复制到我的生产服务器。 然后我运行如下命令: sqlpackage.exe /action:publ
安装 Sql Server Data Tools 后,我尝试使用 SqlPackage.exe来自:C:\Program Files (x86)\Microsoft SQL Server\120\DA
我在 Visual Studio 中有一个 SQL Server 数据库项目,并且删除了一个现有的存储过程。我在本地也有一个数据库,其中存在确切的存储过程。 当我在 Visual Studio 中对两
我有一个脚本可以在 CI 服务器上自动创建数据库,但是,SqlPackage.exe 的输出非常嘈杂。根据documentation ,有一个/Quiet:True 标志可以防止这种情况发生,但是,设
因此,我们正在努力添加 SQL DACPAC 作为我们持续集成的一部分。我们使用运行“sqlpackage.exe”和每个 DacPac 文件的 powershell 脚本来做到这一点。我们有大约 1
我经常使用 EF 迁移来部署数据库,无论是从头开始还是为了进化。然而,我目前正在从事另一个使用 DACPAC 的团队项目,直到今天,这似乎也一样好。今天,我向缺少它的表添加了一个唯一键约束,正如您可能
因为我们可以在 Visual Studio 2012 中使用来自 Microsoft SSDT 的 SqlPackage.exe 来同步数据库,如讨论的那样 here ,我用它来同步目标数据库,称为
当我尝试部署 时DACPAC 通过 SqlPackage.exe , 我遇到以下错误: An unexpected failure occurred: Object reference not set
我想忽略 DevOps 发布管道中特定架构的更改。我正在尝试找到它的 Sqlpackage.exe 命令。我在这里查看了文档:https://learn.microsoft.com/en-us/sql
我们正在使用 Sql Server 数据库项目通过 SqlPackage.exe 从 DacPac 创建部署脚本。我们在不同的环境中设置了不同的 SQL Server 文件组。部署时,我们排除文件组,
我想忽略 DevOps 发布管道中特定架构的更改。我正在尝试找到它的 Sqlpackage.exe 命令。我在这里查看了文档:https://learn.microsoft.com/en-us/sql
我是一名优秀的程序员,十分优秀!