пятница, 29 мая 2009 г.

Заменить все учетные записи в базе на одну и сбросить права

Возможно пригодится такой скрипт:

DECLARE @Account nvarchar(256)
SET @Account='домен\учетка'
UPDATE dvsys_users set AccountName = @Account
UPDATE dvsys_security SET SecurityDesc='AQAEjDAAAABAAAAAAAAAABQAAAACABwAAQAAAAADFAAfAA8QAQEAAAAAAAEAAAAAAQIAAAAAAAUgAAAAIAIAAAEBAAAAAAAFEgAAAA=='
UPDATE [dvtable_{DBC8AE9D-C1D2-4D5E-978B-339D22B32482}] SET AccountName =@Account
UPDATE [dvtable_{5B607FFC-7EA2-47B1-90D4-BB72A0FE7280}] SET AccountName =@Account
UPDATE [dvtable_{F6927A03-5BCE-4C7E-9C8F-E61C6D9F256E}] SET AccountName =@Account


Устанавливает права на все объекты Everyone - full access, и заменяет все учетные записи на одну. Сами используем, если нам передали базу с другого сервера и нужно выполнить какую-либо проверку.

1 комментарий:

  1. В SDDL виде этот дескриптор выглядит как O:BAG:SYD:AI(A;OICI;CCDCLCSWRPSDRCWDWOGA;;;WD)

    Таким образом видно, что права назначены явно и нет наследованых ACE, что не совсем корректно для объектов БД на которые есть сильные ссылки (на них права должны перетекать с родителя).

    Хотя для указанных целей подойдет.

    ОтветитьУдалить