SqlPackage.exe Extract包括角色用户和权限

时间:2018-04-20 14:43:46

标签: sql-server-data-tools dac

我使用14.0.3811.1

的版本SqlPackage.exe

我正在尝试提取数据库,但没有用户/角色和角色成员资格。

我按以下方式指定属性:

SqlPackage.exe / Action:Extract / SourceDatabaseName:“Foo”/ SourceServerName:“foo \ bar”/TargetFile:"C:\temp\Extracted\foo.dacpac“/ p:ExtractAllTableData = True / p:DacApplicationName = foo.bar / p:DacMajorVersion = 1 / p:DacMinorVersion = 0 / p:VerifyExtraction = False / p:ExtractApplicationScopedObjectsOnly = True / p:IgnorePermissions = True / p:IgnoreUserLoginMappings = True

但是,如果我检查提取的dacpac文件中的model.xml文件,它有各种各样的:

<Element Type="SqlRoleMembership">
<Element Type="SqlRole" Name="[Foo]">
<Element Type="SqlUser" Name="[foo]">
<Element Type="SqlLogin" Name="[foo\bar]" Disambiguator="4">

p:IgnoreUserLoginMappings=true /p:IgnorePermissions=True/p:ExtractApplicationScopedObjectsOnly=True参数不应该阻止这种情况吗?

1 个答案:

答案 0 :(得分:0)

我找到了解决方法。 发布包含这些用户/角色等的.dacpac文件时,可以使用/p:ExcludeObjectTypes=参数从部署中排除必要的对象类型。