Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена владельца объектов при копировании БД / 6 сообщений из 6, страница 1 из 1
05.11.2001, 12:15
    #32016569
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена владельца объектов при копировании БД
Вопрос для SQL 2000:
Есть БД например WORK, все объекты принадлежат пользователю WORK.
Как сделать копирование всех объектов из БД WORK в БД TEST, но при этом владелец всех объектов в БД TEST должен быть TEST.
При попытке копировать методом экспорта всех объектов владелец становится WORK в БД TEST, что не нужно.
При попытке копировать только таблицы и вьюшки многие данные не копируются (часть триггеров мешает).
Что можно предпринять?
...
Рейтинг: 0 / 0
05.11.2001, 12:55
    #32016571
Смена владельца объектов при копировании БД
Подними на новом сервере бэкап, всего и делов-то.
...
Рейтинг: 0 / 0
05.11.2001, 13:50
    #32016577
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена владельца объектов при копировании БД
Нужно на ТОМ же сервере, но в другой БД.
Смысл: иметь в качестве БД TEST копию предыдущей WORK для опытов.
...
Рейтинг: 0 / 0
05.11.2001, 14:44
    #32016590
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена владельца объектов при копировании БД
Перенеси бакапом, а владельцев меняй скриптом.
А ещё лучьше всегда делай владельцем dbo
...
Рейтинг: 0 / 0
06.11.2001, 07:08
    #32016609
Михаил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Смена владельца объектов при копировании БД
сделать владельцем DBO нельзя увы программа сама все делает.

а как примерно выглядит скрипт?
...
Рейтинг: 0 / 0
06.11.2001, 11:12
    #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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Смена владельца объектов при копировании БД / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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