|
|
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Бьюсь над одной задачей, никак не могу решить - может, кто смодет помочь собственно, задача: написать SQL запрос для MS SQL входные константы: Имя БД, пользователь с привелегиями администратора (как ни странно, на обычном пользовате с доступом к одной БД все работает) входные данные: имя таблицы, имя колонки на выходе: это колонка есть PK? Не получается сделать по одной весьма не очевидной причине: у пользователя, имеющего доступ только к одной БД, запрос Код: plaintext 1. 2. 3. возвращает 83 записи, в том числе и PK ключи Тот же заброс у любого администратора для БД пользователя возвращает всего 51 запись - при этот теряя все PK ???? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 18:29:27 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
возвращает 83 записи, в том числе и PK ключи Тот же заброс у любого администратора для БД пользователя возвращает всего 51 запись - при этот теряя все PK Вы ничего не путаете ? Может вы запускает запрос для разных баз ? Не могу поверить, что пользователь, входящий в серверную роль System Administrator, вдруг стал получить меньше информации, чем владелец какой-то базы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 20:18:14 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Увы - я ничего не путаю Именно так и обстоят дела ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 21:10:03 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Мне не удается смоделировать ситуацию. У меня наоборот пользователь конкретной базы может при обращении к INFORMATION_SCHEMA увидеть меньше данных, чем System Administrator, но никак не наоборот. SQL2000EE SP2 А у вас "пользователь с привелегиями администратора " отмаплен в базу или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 21:26:31 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
что значит - "пользователь с привелегиями администратора " отмаплен в базу или нет ? Сначала проблема возникла на пользователе sa - я решил, что проблема в нем. Создал несколько других пользователей с правами администраторов - нет, проблема именно в администраторах Полностью запрос выглядит так (он возвращает для указанной таблицы информацию об ее колонках): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. Но - не работает именно ранее указанная часть: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. и не работает именно по указанной причине, и именно на пользователях с администраторскими правами Я не понимаю, в чем причина - по логике, админ - есть админ, но, но, [isPK] у меня под админами всегда NULL ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 22:03:20 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
А SP у вас системная в master сидит, правильно? Тогда она всё это пытается найти в master DB, независимо от того где вы её ранаете. Попробуйте вот так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2002, 23:29:42 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Запрос (где @DBNAME - сооветствующее значение) Код: plaintext 1. 2. 3. возвращает то же, что и Код: plaintext 1. 2. 3. - 51 запись вместо 83 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 10:23:52 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Да, и этот запрос - это не сохраненка, это именно запрос, подаваемый на сервер приложением ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.11.2002, 10:24:55 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
Никто так и не подскажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 10:30:27 |
|
||
|
Как узнать, есть ли колонка PK
|
|||
|---|---|---|---|
|
#18+
что значит - "пользователь с привелегиями администратора " отмаплен в базу или нет ? Один и тот же SQL login может отображаться в различные базы как разный user, которому могут быть назначен свой набор прав на объекты. Запросы select * from mydatabase..syscolumns select * from mydatabase..sysobjects для разных пользователей возвращают одинаковое число записей ? Есть недокументированная процедура . Можно проанализировать ее код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2002, 13:22:05 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1818575]: |
0ms |
get settings: |
8ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 227ms |
| total: | 359ms |

| 0 / 0 |
