加载后同步用户和登录的最佳方法是什么?

时间:2013-03-08 09:04:52

标签: sql sybase-ase

我有生产和开发环境服务器。 每月一次,我想从生产中转储数据库并将其加载到开发中!

但是还有一些用户和登录问题(缺少登录,权限等)。

转储后同步用户和登录的最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

您可以从prod master bcp 输出您的syslogins表,并将 bcp 该表放入您的dev主服务器。这必须在第一时间仔细完成。我建议你从开发系统中删除所有用户登录(非系统默认登录)。

bcp 进入master,您必须设置以下标志以允许更新系统表:

sp_configure 'allow updates', 1

然后使用块大小为1的数据中的 bcp ,这将允许重复的行被抛出,而不会影响非重复的行。

bcp master..syslogins in prodsyslogins.file -Usa -Psa_password -Smyserver -n{-c} -b1

完成bcp后,您将需要取消设置系统表更新标志。

sp_configure 'allow updates',0

如果正确完成,所有syslogin suid都应该与每个数据库中的sysusers suid相匹配,这应解决您遇到的权限问题。

练习小心确保在开始搞乱之前备份master。

答案 1 :(得分:1)

在开始加载之前,您可以bcp out sysusers,sysalternates和sysprotects。数据库联机后,启用“允许更新”,删除sysusers,sysalternates和sysprotects以及bcp in。

您还可以检查是否存在任何suid不匹配。

从sysusers t1,master..syslogins t2中选择t1.suid,t2.suid,其中t1.name = t2.name和t1.suid!= t2.suid和t1.suid!= -2