Перенс базу c SQL Server 2005 на SQL Server 2008.
Ну что значит перенес - создал новую с таким же именем на SQL 2008, на SQL 2005 забэкапил текущую и восстановил её на SQL 2008 заменив пути и мена файлов на необходимые.
Поскольку в базе был пользователь с SQL авторизацией, а на новом сервере SQL 2008, его естественно не было, создал такового на SQL 2008, и к моему удивлению не смог добавить ему доступ на базу. Дело в том, что восстановленная база несла в себе информацию о том, что такому пользователю должен уже быть предоставлен доступ, о чем свидетельствовала запись в свойствах безопасности базы, но в то же время новый созданный пользователь с таким же именем в свойствах безопасности сервера не был добавлен в безопасность базы.
При добавлении пользователя выскакивала ошибка:
----------------------------------------------------------------
TITLE: Microsoft SQL Server Management Studio------------------------------
Create failed for User 'User_Program'. (Microsoft.SqlServer.Smo)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.0.1600.22+((SQL_PreRelease).080709-1414+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+User&LinkId=20476
------------------------------ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
User, group, or role 'User_Program' already exists in the current database. (Microsoft SQL Server, Error: 15023)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.00.1600&EvtSrc=MSSQLServer&EvtID=15023&LinkId=20476
------------------------------BUTTONS:
OK------------------------------
----------------------------------------------------------------
После удаления пользователя из свойств безопасности базы, необходимая роль на базу успешно предоставилась.
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий