我使用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
参数不应该阻止这种情况吗?
答案 0 :(得分:0)
我找到了解决方法。
发布包含这些用户/角色等的.dacpac文件时,可以使用/p:ExcludeObjectTypes=
参数从部署中排除必要的对象类型。