为了改善DX并解决开发过程中迁移冲突问题的问题,我们希望从普通的开发DB转到每个开发人员机器上的本地副本。 我的想法是提供一个工具或脚本,该工具或脚本将创建某种形式的备份并将其复制到本地Dev Machine,可以将其应用于Docker托管的实例。
I我设法使用大多数数据库的数据层应用程序来使IT工作,但是问题在于,某些数据库对用户在用户计算机上无法创建的用户进行了验证,因为他们在Prod中使用Windows Authentication。我不需要复制的用户,并且可以在SA用户下所有的所有内容。我只对表,模式,功能,存储过程和视图感兴趣。
开发人员使用MacOS机器,因此他们不能使用SSM。另外,dev.也无法访问prod数据库文件系统。
您可以使用sqlpackage.exe提取DACPAC,该DACPAC不包括服务器范围的对象,例如登录和凭据。
sqlpackage.exe /a:Extract /p:ExtractReferencedServerScopedElements=false /p:ExtractAllTableData=true ...