Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

Открыть новую тему     Написать ответ в эту тему

Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MICROSOFT SQL SERVER
 
тема посвящена выяснению ответов на вопросы, касающихся установки, функционирования и использования Microsoft SQL Server; также обсуждаются вопросы, касающиеся использования T-SQL (диалект SQL-языка, используемого в этой версии сервера)
 
популярные ответы на популярные вопросы "где скачать?" и "чем сломать?" можно найти здесь

 
 
Официальная документация:
SQL Server 2005 Books Online (original/english, 135MB, september 2007);
SQL Server 2005 Books Online (перевод/русский, 148MB, январь 2009);
 
 
Официальные обновления:
[для версий, начиная с 9.0.3042] / [полный перечень обновлений / зеркало]
03/06/2007: KB933508 (9.0.3042 > 9.0.3050);
04/03/2007: KB934458 (9.0.3050 > 9.0.3054);
04/03/2007: KB934459 (9.0.3054 > 9.0.3159);
06/28/2007: KB936305 (9.0.3159 > 9.0.3175);
 
 
Альтернативные источники информации:
sql.ru - очень полезный ресурс с говорящим за себя названием; пожалуй, лучший (если не единственный) на просторах ru'нета; кроме форумов есть большая подборка статей, FAQ, и прочее.

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 11:49 18-07-2003 | Исправлено: niichavo, 16:13 02-04-2010
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneBoss3
непонятно что вы обновляете - АСУ или SQL базу
Если SQL базу - возможно нет прав доступа у пользователя и поэтому нет подключения к БД.
Если АСУ - возможно все-таки ошибки в строке подключения или ... вообще тяжело предположить - мало инфы.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:57 14-12-2011
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackVetal

Цитата:
непонятно что вы обновляете - АСУ или SQL базу
Если SQL базу - возможно нет прав доступа у пользователя и поэтому нет подключения к БД.

Права доступа администратора сервера.
АСУ - это программа.  
Обновляется База данных АСУ через внешние приложения-обновления (инсталляторы), которые изменяют данные в БД через SQL-скрипты.

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 10:49 14-12-2011 | Исправлено: EugeneBoss3, 10:51 14-12-2011
salexn1



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
EugeneBoss3
какая ошибка хотя бы напишите
и какой скрипт не проходит

Всего записей: 502 | Зарегистр. 21-02-2008 | Отправлено: 12:06 14-12-2011
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneBoss3
Есть предположение - что после обновления не хватает прав доступа к какой-нить таблице (например, таблица пользователей, набор прав пользователей) - что в свою очередь и обрубает соединение.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:55 15-12-2011
EugeneBoss3



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackVetal

Цитата:
Есть предположение - что после обновления не хватает прав доступа к какой-нить таблице

Вся проблема в том, что обновление завершается ошибкой подключения к БД и следовательно до изменения таблиц не доходит.  
Может проблема в строке подключения или активации БД?

Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 01:42 18-12-2011 | Исправлено: EugeneBoss3, 01:43 18-12-2011
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
EugeneBoss3
Может напишите код ошибки, текст или принтскрин выложите? Подключение может обрываться и при не хватке прав доступа ... поэтому и говорю что пока предположение.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 08:19 19-12-2011
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SQL Server 2005 работает в Win домене. Сейчас используется server authentication.
Логин информация вводится в самописной десктоп программе.
Чтобы 'улучшить' секьюрити системы было предложенно перейти к windows authentication.
Но при этом получается, что любой юзер может использовать любой компьютер оставшийся залогиненым по тем или иным причинам. Все изменения в DB будут естественно сделаны под залогиненым юзером.
Прошу не oбсуждать, почему компьютер остается не локнутым и как это организовать.
Пробовал использовать conn.Properties("Prompt") = adPromptAlways, но это не выход. Опять же по дефолту подставляются данные логина.
 
1.Можно ли изменить что-нибудь в настройках или в connection string, чтобы избежать такого поведения?
2.При windows authentication system_user возвращает значение в виде [domain]\[user]
Перепробовал все встроеные функции и не нашел такую, чтобы возвращала только [user]  
Верно ли, что единственый выход - использовать custom функцию?
3.Каким образом сделать mass-update stored procedures для замены "system_user" на "имя функции" при условии, что "system_user" встречается несколько раз в каждой процедуре или тригере.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 22:13 18-01-2012 | Исправлено: dneprcomp, 22:27 18-01-2012
naPmu3aH



Из лесу вышел
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Как обычно попытки решить административные проблемы техническими средствами ни к чему кроме геморроя не приводят...

----------
"Русские Доски" - сила! "Русские Доски" - класс! Кто не знает досок - тот сами догадайтесь кто

Всего записей: 4641 | Зарегистр. 30-10-2001 | Отправлено: 15:51 19-01-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
naPmu3aH
Ну, думал я может чего упустил
Надеялся, что есть какая-нибудь хитрая connection string, позволяющая серверу использовать существующие AD аккаунты. Но при этом все-равно требовать логин/пас.
Все остальное решаемо так или иначе.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 18:07 19-01-2012 | Исправлено: dneprcomp, 19:20 19-01-2012
naPmu3aH



Из лесу вышел
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp

Цитата:
хитрая connection string, позволяющая серверу использовать существующие AD аккаунты. Но при этом все-равно требовать логин/пас

Хитрость в строках соединения - это не к SQL Server. C точки зрения сервера все равно как  
 авторизуется клиент - если он авторизован ему отдадут то что он запрашивает (в соответствии с его правами).
 
Единственное что могу предложить - попробовать как-то прикрутить Forms Based  Authentication к вашему desktop приложению. Оно конечно под Web (asp .net) заточено, но возможно что и в обычных webforms приложениях можно использовать...

----------
"Русские Доски" - сила! "Русские Доски" - класс! Кто не знает досок - тот сами догадайтесь кто

Всего записей: 4641 | Зарегистр. 30-10-2001 | Отправлено: 09:22 20-01-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
naPmu3aH

Цитата:
попробовать как-то прикрутить Forms Based  Authentication  

Все еще сложнее.
Программа написана на VB6. Т.е., никакого .NET

Цитата:
C точки зрения сервера все равно как  
 авторизуется клиент - если он авторизован ему отдадут то что он запрашивает (в соответствии с его правами).  

Да. Но строка соединения определяет будет ли сервер запрашивать логин/пас или удовлетворится AD подтверждением. Вот и хотелось такого гибрида. Что бы сервер спрашивал имя и пас. Но и чтобы сравнивал с AD логином.
Заставить спросить я еще могу. Но там по умолчанию подставляется дата из Win логина.  
Если бы хоть почистить диалог можно было перед показом юзеру...

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 11:09 20-01-2012 | Исправлено: dneprcomp, 11:12 20-01-2012
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
dneprcomp
Конечно извините, масло масленное делаете.
Если пользователи нелочат комп - сугубо их должна быть проблема, а не одмина или разраба. Либо оставляйте авторизацию AD, либо делайте отдельную авторизацию.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 08:23 23-01-2012
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackVetal

Цитата:
либо делайте отдельную авторизацию

Так как раз отдельная сейчас и есть.  

Цитата:
Если пользователи нелочат комп - сугубо их должна быть проблема

Я же специально просил не обсуждать, как заставить юзера разлогинуться.  
Это и так понятно, что юзер должен сам следить.
Интересует сама возможность сделать такой совмещеный логин на програмном уровне. Или на уровне сервера.
Хочется не лазить по настройкам логинов в 33-х местах, а разрешать/запрещать только в одном месте - в AD.
Есть желание совместить удобство управления через AD и секьюрити индивидуального логина на сервере.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 09:42 23-01-2012 | Исправлено: dneprcomp, 09:54 23-01-2012
spv86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
Нужна помощь с написании запроса для MS SQL.
 
Есть таблица содержащая список пользователей:
USERS
SID            FIO
A42B4089   Иванов
A80678B5   Петров
852A9D29   Сидоров
4DA08D7    Пупкин
 
А ещё есть таблица, содержащая в себе информацию о событиях:
EVENTS
ID    USER_SID         TYPE   TIME
2    A42B4089        102    16.3.2010 14:39:00
3    A80678B5        102    16.3.2010 14:38:00
4    852A9D29        102    16.3.2010 14:38:00
5    A80678B5        101    16.3.2010 14:30:00
6    4DA08D7        101    16.3.2010 14:28:00
 
 
А как получить список пользователей с указанием времени и типа последнего события?

Всего записей: 9 | Зарегистр. 17-05-2011 | Отправлено: 08:55 08-02-2012
bigsloth



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
ленивый вариант для sql server 2005 и старше
 
SELECT *
FROM users u
CROSS APPLY  
(SELECT TOP 1 *
FROM events  
WHERE user_sid = u.sid
ORDER BY time DESC) e

Всего записей: 239 | Зарегистр. 18-09-2009 | Отправлено: 09:10 08-02-2012 | Исправлено: bigsloth, 10:17 08-02-2012
spv86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Извиняйте, что сразу не написал
Используется sql-сервер MSDE

Всего записей: 9 | Зарегистр. 17-05-2011 | Отправлено: 15:12 10-02-2012
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spv86
MSDE = 2000й?
если еще актуально, то можно так:
 
 select u.sid, u.fio,
 (select top 1 e.type from event e where e.user_sid = u.sid order by e.time desc) [type],
 (select top 1 e.time from event e where e.user_sid = u.sid order by e.time desc) [date]
  from user u

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 13:11 14-02-2012
spv86

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо за помощь!
Работает.

Всего записей: 9 | Зарегистр. 17-05-2011 | Отправлено: 14:44 14-02-2012
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня создана база по свойствам физических соединений. Она состоит из основной таблицы substance, где, собственно, и определяются свойства и двух таблиц-справочников compound_ru_ru и compound_en_us с псевдонимами соединений на русском и английском языках. Сделано это для поддержки многоязыковых приложений, где есть возможность переключить язык пользовательского интерфейса "на лету". Подскажите, какие есть средства со стороны MSSQL для поддержки многоязыковых версий одной и той же таблицы, чтобы можно было отказаться от использования суффиксов, добавляемых к имени таблицы.

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 17:29 21-02-2012 | Исправлено: karakurt2, 17:30 21-02-2012
mmlm10

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
karakurt2
Первое, что приходит в голову - ввести доп. поле с именем LANG в одну из таблиц COMPOUND, типа BIT (булево), если языков два, или типа TINYINT(короткое целое), если их будет больше.
Условно будем считать это поле булевым.
Далее, для англоязычного содержимого значение поля LANG установить в 1. Затем добавить в ту же таблицу данные из русскоязычной таблицы с установкой значения поля LANG установить в 0.
 
В результате в одной таблице хранятся варианты на всех языках, а выбор языка можно производить, изменяя условие LANG = 0 или 1 в выборке набора псевдонимов

Всего записей: 453 | Зарегистр. 16-12-2003 | Отправлено: 19:42 21-02-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Microsoft SQL Server


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru