powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена владельца объектов при копировании БД
6 сообщений из 6, страница 1 из 1
Смена владельца объектов при копировании БД
    #32016569
Михаил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос для SQL 2000:
Есть БД например WORK, все объекты принадлежат пользователю WORK.
Как сделать копирование всех объектов из БД WORK в БД TEST, но при этом владелец всех объектов в БД TEST должен быть TEST.
При попытке копировать методом экспорта всех объектов владелец становится WORK в БД TEST, что не нужно.
При попытке копировать только таблицы и вьюшки многие данные не копируются (часть триггеров мешает).
Что можно предпринять?
...
Рейтинг: 0 / 0
Смена владельца объектов при копировании БД
    #32016571
Подними на новом сервере бэкап, всего и делов-то.
...
Рейтинг: 0 / 0
Смена владельца объектов при копировании БД
    #32016577
Михаил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно на ТОМ же сервере, но в другой БД.
Смысл: иметь в качестве БД TEST копию предыдущей WORK для опытов.
...
Рейтинг: 0 / 0
Смена владельца объектов при копировании БД
    #32016590
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перенеси бакапом, а владельцев меняй скриптом.
А ещё лучьше всегда делай владельцем dbo
...
Рейтинг: 0 / 0
Смена владельца объектов при копировании БД
    #32016609
Михаил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать владельцем DBO нельзя увы программа сама все делает.

а как примерно выглядит скрипт?
...
Рейтинг: 0 / 0
Смена владельца объектов при копировании БД
    #32016627
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
declare @uid_from int,
@name nvarchar(1000)
select @uid_from = uid
from users
where name = 'WORK'

while 1=1
begin
select @name = name from sysobjects where uid=@uid_from and xtype = 'U')
if @@rowcount = 0 break
exec('exec sp_changeobjectowner ''WORK.' + name + ''', ''TEST''')
end
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена владельца объектов при копировании БД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]