Проблемы SQL SERVER 2005 с Windows 7

Проблемы SQL SERVER 2005 с Windows 7

Прежде всего я восстановил базу данных с другого сервера, и теперь все хранимые процедуры называются как [azamsharp].[usp_getlatestposts]. Я думаю, что [azamsharp] — это префикс, поскольку это был пользователь на исходном сервере.

Теперь на моей локальной машине это не запускается. Я не хочу префикс [azamsharp] со всеми хранимыми процедурами.

Кроме того, когда я нажимаю правой кнопкой мыши на Sproc, я даже не вижу опцию свойств. Я запускаю SQL SERVER 2005 на Windows 7.

ОБНОВЛЯТЬ:

Странно то, что если я захожу в производственную базу данных со своей машины, я вижу опцию свойств. Так что, действительно что-то не так с безопасностью Windows 7.

ОБНОВЛЕНИЕ 2:

Когда я запустил хранимую процедуру orphan users, она показала двух пользователей "azamsharp" и "dbo1". Я исправил пользователя "azamsharp", но "dbo1" не исправляется. Когда я запускаю следующий скрипт:

exec sp_change_users_login 'update_one', 'dbo1', 'dbo1' Я получаю следующую ошибку:

Сообщение 15291, уровень 16, состояние 1, процедура sp_change_users_login, строка 131 Завершение процедуры. Имя входа 'dbo1' отсутствует или недействительно.

решение1

У вас, вероятно, есть пользователи-сироты. Когда вы получаете доступ к серверу со своего компьютера, ваши учетные данные домена, вероятно, имеют доступ как DBadmin к производственному серверу. Запустите этот код, чтобы обнаружить пользователей-сирот:

Use TestDB
sp_change_users_login 'report'

В выводе перечислены все логины, записи которых в системной таблице sysusers базы данных TestDB и системной таблице sysxlogins в главной базе данных не совпадают. Чтобы устранить проблему:

Устранение неполадок у пользователей-сирот

Use TestDB
sp_change_users_login 'update_one', 'test', 'test' 

SELECT sid FROM dbo.sysusers WHERE name = 'test'
0x40FF09E48FBD3354B7833706FD2C61E4

use master
SELECT sid FROM dbo.sysxlogins WHERE name = 'test'
0x40FF09E48FBD3354B7833706FD2C61E4

Это повторно связывает логин сервера "test" с пользователем базы данных TestDB "test". Хранимая процедура sp_change_users_login также может выполнять обновление всех потерянных пользователей с параметром "auto_fix", но это не рекомендуется, поскольку SQL Server пытается сопоставить логины и пользователей по имени. В большинстве случаев это работает; однако, если с пользователем связан неправильный логин, у пользователя могут быть неправильные разрешения.

Связанный контент