是否可以导出不包含用户的 SQL Server 数据库(数据、结构)?
如果是,是否可以使用 SSMS?
答案1
有一种方法可以得到你想要的结果,但它不是备份,不应被视为备份(见gbn 的回答了解原因)。
这是一个方便的工具,可用于生成可在应用程序安装程序中使用的脚本,以及使用存储过程、视图引用表和数据等对象来填充应用程序数据库。但它不是用作关键任务备份。
Tasks -> Generate Scripts
提供编写数据库和数据脚本并选择忽略哪些对象(例如用户)的功能:
在第二页上,您可以选择要编写的脚本:
只需确保未选择“用户”即可。
在下一页上选择Advanced
按钮打开高级脚本选项窗口:
高级脚本选项窗口允许您选择要编写脚本的内容和编写脚本的方式。如果您要编写数据和架构的脚本,请Schema and Data
在“要编写脚本的数据类型”选项中选择:
再次重申,这是不是被认为是一种可靠的或认可的备份数据库的方法。
答案2
不。用户可以:
- 有权限
- 成为角色成员
- 自己的模式和对象
如果用户被删除,数据库就会被破坏
如果您想导出所有数据和脚本,那么您可以通过这种方式跳过用户。
但这不是备份