Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
RedBird
Member

Откуда: Москва
Сообщений: 165
В VS2010 создан проект базы данных. Из MS SQL Server 2008 R2 импортирована схема БД.
При попытке собрать проект, т.е. получить скрипт БД получил ошибку:

SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].

Не очень понятно, что делать дальше...
Статья MSDN Использование ссылок в проектах баз данных ясности не прибавила...
БД у меня одна. Куда и на что я должен сослаться?
Печально то, что номер у ошибки есть, а справка в MSDN по ней отсутсвует.
26 июл 11, 22:38    [11030985]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
RedBird
SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].
Не очень понятно, что делать дальше...
Наверное, создать этот Вход в систему [Имя] в проекте?

Хотя непонятно, зачем вообще в проекте создавать пользователей...
26 июл 11, 22:57    [11031052]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
RedBird
Member

Откуда: Москва
Сообщений: 165
alexeyvg
Наверное, создать этот Вход в систему [Имя] в проекте?

Хотя непонятно, зачем вообще в проекте создавать пользователей...

Я уже импортировал скрипт, содержащий явное определение Login'а - не помогло, т.к. проект относится к пользовательской БД.
VS2010 просто игнорирует сделанное определение.
По моим воспоминаниям таких проблем с аналогичным проектом в VS2008 не было - все было интуитивно понятно.
26 июл 11, 23:22    [11031106]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
RedBird
VS2010 просто игнорирует сделанное определение.
Как я понимаю, поведение тут зависит от опций импорта.

Вы посмотрите ошибки проекта - там может быть лучьше показано.

Можно кликнуть - покажет тот код, который не нравится.
RedBird
проект относится к пользовательской БД
А к чему ещё проект проект базы данных может относится, к системной БД?

Не совсем понятно, что вы делаете:
RedBird
В VS2010 создан проект базы данных
Т.е. вы руками создавали проект, создали пользователя, определив для него несуществующий логин?

И повторю вопрос - с какой целью пользователя создавали?
26 июл 11, 23:29    [11031136]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
RedBird
Member

Откуда: Москва
Сообщений: 165
alexeyvg,
Речь идет о типе проекта VS2010:
Картинка с другого сайта.
Этот тип проектов VS2010 вам знаком?
26 июл 11, 23:50    [11031232]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
RedBird
Этот тип проектов VS2010 вам знаком?
Вы показываете "шаблоны в интернете" и "мастер SQL Server 2008"

Таким никогда не пользовался, не знаю, что он делает и проекты какого типа создаёт (скорее всего, как раз правильного, но как - не знаю).

В последнее время использую SQL Server 2008 Database Project
27 июл 11, 11:39    [11032799]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
RedBird,

У вас разворачивается схема БД. ликовщик проверяет зависимость обьектов. В виду того , что в схему вы включили скрипт создания пользователя , а его учётная запись должна находится на уровне сервера - вы и получаете данную ошибку.
Workaround.
1. В solution добавте проект "Проект сервера SQL 2008" в ветку SchemaObjects-Server Level Objects-Security- Logins добавте скрипт создания необходимой учётной записи.
27 июл 11, 12:53    [11033363]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
2. В оригинальном проекте создайте ссылку на базу данных указав проект п.1
3. В свойствах решения уберите галку deployment с проекта из п.1
4. Rebuild all/
27 июл 11, 12:54    [11033380]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Ken@t,

А не проще сделать:
CREATE USER [Vasya] WITHOUT LOGIN;
27 июл 11, 13:57    [11033990]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3265
alexeyvg,

А дальше ? Альтер логина не пройдёт. Если в схеме бд есть permission на этот логин или владения логином схем и т.д , то руками править в post-deployment скрипе ? Это не гуд - руками зависимости поддерживать.
27 июл 11, 14:46    [11034437]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка SQL03006: В Пользователь: [Имя] есть неразрешенная ссылка на Вход в систему [Имя].  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31959
Ken@t
alexeyvg,

А дальше ? Альтер логина не пройдёт. Если в схеме бд есть permission на этот логин или владения логином схем и т.д , то руками править в post-deployment скрипе ? Это не гуд - руками зависимости поддерживать.
Так тут возникает второй вопрос - насколько нужен пользователь в проекте.

Если нужен (в проекте есть например раздача прав), то понятно, такой способ не проходит.

Мне кажется, у ТС этот пользователь никак не используется.
27 июл 11, 17:58    [11035888]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить