Сервер SQL: проблема с логином при запросе - PullRequest
0 голосов
/ 31 августа 2009

У меня есть веб-приложение, работающее с БД SQL Server 2005 в качестве бэк-энда. Я взял базу данных рабочего сайта и восстановил ее на своем компьютере разработчика. Затем я попытался запросить эту базу данных, используя имя входа «sa». при попытке выполнить запрос " select * from Customers " я получаю сообщение типа " Недопустимое имя объекта 'Customers " Но когда я запускаю « SELECT * FROM [352974_mg4l1]. [Customers] », он возвращает записи. 352974_mg4l1 - пользователь для этой базы данных, присутствующий, когда я восстановил резервную копию БД из производства. Что мне нужно сделать, чтобы получить записи с помощью простого запроса на выборку, который я использовал изначально (« select * from Customers »). Я знаю, что это связано с проблемой входа в систему. Может кто-нибудь сказать мне, как решить эту проблему?

Ответы [ 2 ]

2 голосов
/ 31 августа 2009

Объект базы данных Customers не принадлежит схеме dbo.

И, ссылаясь на Customer как 'sa', вы ищете [dbo]. [Customers]?

Я бы предложил:

  • либо укажите полное имя объекта
  • либо поменяйте схему

Edit:

Чтобы изменить схему указанной таблицы, попробуйте следующее:

ALTER SCHEMA dbo TRANSFER [352974_mg4l1].Customers;

Ссылка: http://msdn.microsoft.com/en-us/library/ms173423.aspx

0 голосов
/ 31 августа 2009

Найдите sp_changeobjectowner в Книгах в режиме онлайн. Это поможет вам сменить владельца. Реальный вопрос заключается в том, как объект был создан для конкретного владельца с самого начала. Если это верно для prod, у вас могут возникнуть серьезные проблемы с другими людьми, обращающимися к базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...