Скрипты логина и таблиц DEPO: перепривязка пользователя базы к логину (ALTER USER … WITH LOGIN), если база восстановлена из копии или логин пересоздан
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014FsEKyJrYF69Cj9ZXzFLRi
This commit is contained in:
@@ -233,6 +233,8 @@ func depoTablesGrantSQL(pg bool, user string) []string {
|
||||
}
|
||||
out := []string{
|
||||
fmt.Sprintf("IF USER_ID(N'%[1]s') IS NULL CREATE USER [%[1]s] FOR LOGIN [%[1]s]", user),
|
||||
// пользователь базы от прежнего логина (база восстановлена из копии / логин пересоздан) — перепривязать
|
||||
fmt.Sprintf("IF EXISTS (SELECT 1 FROM sys.database_principals WHERE name = N'%[1]s' AND sid <> SUSER_SID(N'%[1]s')) ALTER USER [%[1]s] WITH LOGIN = [%[1]s]", user),
|
||||
// чтение учётных таблиц DEPO (лица, счета, остатки, опции) — для сверки заявок
|
||||
fmt.Sprintf("IF IS_ROLEMEMBER(N'db_datareader', N'%[1]s') = 0 ALTER ROLE db_datareader ADD MEMBER [%[1]s]", user),
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user