IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Обсуждение программ (http://www.imho.ws/forumdisplay.php?f=3)
-   -   M$ SQL Server: проблемы и решения (http://www.imho.ws/showthread.php?t=14858)

Oleg 09.11.2005 15:11

Как произвести полнотекстовый поиск в MS SQL базе сразу по всем таблицам?

Есть ли готовый скрипт для этой цели, который бы запустился в SQL Enterprise manager?

ЕЖ 09.11.2005 15:24

Oleg+
Есть такая штука - Поисковая система "Следопыт для MS SQL Server" от МедиаЛингва. Описание на оффсайте:
http://www.medialingua.ru/products.asp?category_id=8799&product_id=8805

Quasar 12.11.2005 15:09

Цитата:

Cartman:
MNT, это ты на каком основании заявляешь?
есть внешняя обработка для 1С 8.0, которая умеет :

- соединяться через ADO DB с любой базой данных, доступной через ODBC;
- получать и печатать структуру всех таблиц этой базы данных;
- вводить и выполнять любой запрос к таблицам этой БД;
- печатать полученный результат (по выбору любые столбцы вместе с их заголовками) в формате TXT, MXL, XLS, HTML.

Единственный недостаток : нужно иметь на компе движок 1С 8.0 :)

vovik 12.11.2005 15:24

Цитата:

Сообщение от MNT
Единственный недостаток : нужно иметь на компе движок 1С 8.0 :)

Да уж... маленький такой недостаточек. Тогда уж горяздо проще MS SQL server поставить = у него защиты такой как у 1С нету, а Developer edition и вовсе бесплатная (на сколько я помню)

Cartman 12.11.2005 17:31

Цитата:

vovik:
Developer edition и вовсе бесплатная
Да нет вроде бы. С чего ты взял?
Гм. Я тогда немного не понял, ты хочешь вытащить даные из базы sql без sql сервера? Так что ли ?

Quasar 12.11.2005 18:23

Цитата:

vovik:
Developer edition и вовсе бесплатная
49$ (если не ошибаюсь).

vigil 17.11.2005 10:38

Цитата:

короче, смысл в том, что надо иметь возможность просматривать базу в виде обычной таблицы.
http://sqlmanager.net/products/mssql/manager/
отличная программулина. работаю с ней уже 1,5 года
триал вычищается из реестра элементарно :claps:

Kvarx 26.09.2006 09:25

У меня проблема с установкой MS SQL Server 2005 Express Edition на Windows XP/SP2. Сначала поставил Framework.NET 2, потом стал ставить SQL Server. Так вот вроде оба компонента ставятся нормально, запускается Configuration Checker, а он выдается ошибку, в которой говорится, что проблема в WMI Configuration.

Никаких идей. Что можно предпринять? :help:

MoisseyNew 27.09.2006 10:32

Цитата:

Kvarx:
У меня проблема с установкой MS SQL Server 2005 Express Edition на Windows XP/SP2.
А разве он вообще ставится не на серверные платформы?..

Kvarx 27.09.2006 21:59

Я по этому поводу ничего не знаю. Надо курсовик по БД делать. Вот я и хотел поставить сервер и писать на C#. А тут такая запарка :(

vovik 27.09.2006 22:04

Цитата:

MoisseyNew:
А разве он вообще ставится не на серверные платформы?..
Точно ставится! У нас все видеосерверы по умолчанию работают на WinXP именно с экспрессом.
На то она и облегченно-урезанная версия

ЕЖ 27.09.2006 22:06

Kvarx
Попробуй запустить этот скрипт (сохрани его в батник FixWMI.cmd)
Код:

@echo on
cd /d c:\temp
if not exist %windir%\system32\wbem goto TryInstall
cd /d %windir%\system32\wbem
net stop winmgmt
winmgmt /kill
if exist Rep_bak rd Rep_bak /s /q
rename Repository Rep_bak
for %%i in (*.dll) do RegSvr32 -s %%i
for %%i in (*.exe) do call :FixSrv %%i
for %%i in (*.mof,*.mfl) do Mofcomp %%i
net start winmgmt
goto End

:FixSrv
if /I (%1) == (wbemcntl.exe) goto SkipSrv
if /I (%1) == (wbemtest.exe) goto SkipSrv
if /I (%1) == (mofcomp.exe) goto SkipSrv
%1 /RegServer

:SkipSrv
goto End

:TryInstall
if not exist wmicore.exe goto End
wmicore /s
net start winmgmt
:End


Kvarx 01.10.2006 22:54

ЕЖ :yees:
Это скрипт действительно помог. Тока пришлось заткнуть Касперского :)

По ходу установки были еще траблы, из-за того, что еще стоял MySQL, что MS неявно не нравилось. Токо что поставил, поэтому сейчас отписываюсь.

Kvarx 23.10.2006 18:55

Сервер работает, только никак не могу понять, как дальше с ним работать. Чем создавать таблицы и тд? Как я понимаю должен быть какой-то Manager. Но кроме Configuration Manager ничего найти не могу. Действительно, он должен быть, где он может лежать? :idontnow:

Cartman 23.10.2006 19:21

Kvarx, вообще-то в Enterprise Menager создаешь базу, а дальше уже уже пиши программу, которая создаст структуру.

Kvarx 23.10.2006 21:31

А что разве нету графического интерфейса? Или можно допустим Аксесом создать делать базу. А потом написать прогу которая будет общаться через MS SQL Server.

Во-вторых, нигде не могу найти этого Enterprise Manager'a. Где он может лежать относительно папки сервера?

Где можно почитать документацию именно по MS SQL Server 2005 Express Edition?

ЕЖ 23.10.2006 21:40

Kvarx
В поставке SQL Server 2005 Express фактически идет только движок. Но у MS есть к нему тоже бесплатный GUI - Management Studio Express - замена Enterprise Manager в 2000-ом. Он свободно доступен на сайте MS (вбей на их сайте в поиск Microsoft SQL Server Management Studio Express).

Kvarx 28.10.2006 23:43

ЕЖ, спасибо! Это довольно понтовая вещь.

Вот еще пара вопросов. Разбирался с документацией, там на примере AdventureWorksDW рассматривается. Но у меня нет этой базы. Где бы можно ее скачать?

Мне для курсовика надо будет написать приложение, которое будет с моей базой работать. Прочитал, что есть Service Broker. Как мне это может помочь? Или в Visual Studio можно на С++ написать? или на С#? правда я еще ни разу не работал с базами на Сях.

ЕЖ 29.10.2006 00:26

Kvarx
Никакой Service Broker тебе не нужен. Писать можно хоть на C#, хоть на VB.NET, хоть на Managed С++ - всё равно везде будешь использовать одну и ту же библиотеку классов .NET. Рекомендую выбрать C#. С конкретными вопросами - в "Программирование".

По документации SQL Server - твой самый надежный друг - SQL Server 2005 Books Online. Есть относительно сносый перевод - ищется на microsoft.ru по запросу Электронная документация по SQL Server 2005, но рекомендую все же оригинал на ангийском - во первых - первоисточник, во вторых - англицкий подтянешь. Базы данных и примеры - SQL Server 2005 Samples and Sample Databases. Все выделенное жирным - свободно доступно на сайте MS - так что вбивай в поиск и качай.

Kvarx 30.10.2006 17:30

ЕЖ

Понятно, SQL Server 2005 Books Online про Express Edition я как раз осилил. Пробную базу, тоже удалось установить и по документации потренироваться с ней.

Скачал еще Business Intelligence Development Studio, делать отчеты. С этим буду разбираться.

Возникло еще три вопроса:
1. Так как мне надо будет показать работу в универе, то видимо стоит использовать Xcopy Development. Про который я правда ничего не понял, только то, что можно как-то без проблем там все будет запустить. Но у нас там вроде Server 2000 стоит. :(

2. В Tutorials написано еще о Analysis, Notification, Data Mining, Integration Services. Про Analysis понял, что очень фунциональная вещь. И меня это немного смущает. Я думал, что сделаю базу в MSSMS, а приложение напишу на С#. Но для чего тогда эти службы.

3. Какую бесплатную среду разработки приложения посоветуешь?

ЕЖ 30.10.2006 21:16

Kvarx
1. Ты видимо имел ввиду XCopy Deployment, а не Development. Смысл его в том, что в большинстве своем .NET приложения можно переносить простым копированием бинарников, без инсталляции. За исключением каких-либо специальных сторонних компонентов, требующих установки в GAC, или каких-то нативных Win32 компонентов, которые могут требовать прописки в реестре. Если ты такое не используешь, то велика вероятность что приложение удасться запустить на другой машине просто скопировав туда папку с ним. И естественно там уже должна быть установлена нужная версия .NET Framework. Но на самом деле в Visual Studio очень просто создать и полноценный инсталлятор.

2. Опиши что за приложение создаешь, для чего тебе БД и какие операции с ней будут производиться. А там уже будет видно, нужен ли смущающий тебя функционал. Наверняка, 95% что тебе он не понадобится и без него можно будет обойтись.

3. Visual Studio 2005 Express.

Kvarx 02.11.2006 21:48

ЕЖ
1. Да его и имею ввиду. Только в мануале был такой неслабый список требований, чтобы переносить простым копированием бинарников.

2. Приложение в принципе самое простое - автоматизация научной библитеки. Но хочется узнать как можно больше нового, поэтому не стал на пхп+мускуль делать.

3. Вроде самой студии, как таковой нет. Скачал по отдельность Visual C++ и C# Express. Где можно прочитать о том, как на С# создать приложение, которое будет интерфейсом к моей базе данных?

4. Мне нужно будет сделать три вида пользователей с разными привеллегиями. Это делается средствами СУБД или приложения?

5. Для чего нужны схемы? Это просто объединения таблиц в группы?
Что такое Constraints?
Сделал две таблицы. Между ними связь один ко многим. Связывание делается в БД (в Аксесс есть такая штука) или самому (как в Mysql)?

ЕЖ 07.11.2006 23:14

Kvarx
1. Пока нет приложения и не понятно что и как оно будет использовать, про перенос тоже рано говорить. Скажу только что есть большая вероятность, что будет переносимо простым копированием. А может и нет =) Надо пробовать. .NET Framework и MS SQL конечно должны ставиться отдельно.

2. Что за автоматизация? Типа кучи связанных справочников, да учет отданных книг? Для такого типа задачи хватит только движка MS SQL.

3. Честно говоря не знаю даже как ответить на вопрос "Где можно почитать...". Перед тобой весь интернтет с варезными книгами, в т.ч. на русском, в т.ч. и у нас на форуме, или например на natahaus. Ищи книги, в названии которых ADO.NET - это то что тебе нужно. Еще на вскидку в голову приходит А. Постолит "VS.NET: Разработка приложений баз данных".

4. Всегда лучше делать ограничение доступа серверным, т.е. в самой БД, а не в приложении. В идеале БД должна быть неким целостным самодостаточным объектом, дающим доступ к себе по определенным правилам и определенному интерфейсу (хранимые процедуры). Приложение должно только правильно уметь оперировать этими правами/интерфейсом.

5. В принципе да, но сделано это не просто так. Ты, например, можешь одной командой дать/забрать права на доступ пользователю сразу на все таблицы одной схемы, а не делать это отдельно на каждую таблицу.

Constraints - дословно ограничения. Довольно широкое понятие, служат для поддержки целостности данных. Те же Foreign Keys относятся к constraints, наложение на столбец признака уникальности - constraint, серверная проверка записываемого в ячейку значения на удовлетворение ранее определенному условию - тоже constrains... их много разных.

По поводу организации связей... В первую очередь необходимо разобраться как сделать все что тебе надо на чистом SQL, а уже потом призывать на помощь лишь для удобства всякие дизайнеры БД (рекомендую кстати Sybase PowerDesigner, ну или ErWin). И забудь ты про Access, не нужен он тебе для работы с MS SQL никак.

Kvarx 08.11.2006 01:02

Цитата:

Сообщение от ЕЖ
По поводу организации связей... В первую очередь необходимо разобраться как сделать все что тебе надо на чистом SQL, а уже потом призывать на помощь лишь для удобства всякие дизайнеры БД (рекомендую кстати Sybase PowerDesigner, ну или ErWin). И забудь ты про Access, не нужен он тебе для работы с MS SQL никак.

Хорошо, про Access я уже давно забыл.
Как на чистом SQL сделать тоже понятно. CREATE TABLE ... Правда про обозначение связей, я так и не понял. То есть в Sybase PowerDesigner (уже качаю) там это можно все выделять, а в SSMS нет? То есть мне она нужна была только для того, чтоб создать базу (и всякие административные штучки типа доступа).
А таблицы и все проетирование уже можно намного удобнее делать в Sybase PowerDesigner?

ЕЖ 08.11.2006 02:59

Я пытаюсь сказать, что все равно все эти средства (что PD, что ManagementStudio) все равно на выходе так или иначе генерят SQL и отдают его на исполнение движку СУБД, либо просто тебе в виде скрипта для дальнейшего исполнения. Это касается как таблиц, так и связей и всех прав доступа и т.д. и т.п. Важно уметь понимать все что делается на уровне скриптов и уметь написать все это самому, а все эти инструменты - всего лишь вспомогательное, второстепенное.

"Рисовать" таблицы и все связи конечно лучше всего в PD в Physical Data Model (но сделать все таблицы и добавить связи в виде FK можно и в ManagementStudio). Но выходом все равно будет SQL. Поэтому если тебе нужно сделать простую связь между таблицами один ко многим, дать права доступа на таблицу, или что-либо другое, вместо того чтобы метаться в выборе инстумента и долго его осваивать, нужно просто открыть SQL Server Books Online и прочитать соответствующий синтаксис, написать и выполнить в том же ManagementStudio.

Так элементарная связь один ко многим между таблицами авторов (Authors ) и книг (Books) соответственно, будет выглядеть примерно так:
Код:

CREATE TABLE Books
(
  BookID INT NOT NULL PRIMARY KEY,
  AuthorID INT NOT NULL,
  BookName VARCHAR(100) NOT NULL
)
GO

CREATE TABLE Authors
(
  AuthorID INT NOT NULL PRIMARY KEY,
  Name VARCHAR(100) NOT NULL
)
GO

ALTER TABLE Books
ADD CONSTRAINT fk_author FOREIGN KEY (AuthorID)
REFERENCES Authors (AuthorID)
GO


Quasar 28.06.2007 22:45

Прошу помочь знатоков в решении такой проблемы.

Есть Microsoft SQL Server 2000 sp3, установленный на Windows 2000 Server SP4.

На серваке с процами Xeon установлено 4 Гб оперативной памяти.

Windows 2000 Server SP4 на машине запускается с опцией /3GB в boot.ini (эта опция должна идти строго до /fastdetect или можно после нее?).

В Microsoft SQL Server 2000 задействована опция AWE Enabled (= 1).

Тем не менее, рабочий процесс Microsoft SQL Server 2000 адресует не более 1.7 Гб памяти! Куча памяти на машине остается свободной, в то время как производительности не хватает.

Вопрос заключается в следующем : в чем может быть причина такого поведения? Как заставить рабочий процесс Microsoft SQL Server 2000 адресовать 3 Гб памяти?

Oleg 29.06.2007 18:38

Цитата:

Сообщение от Quasar (Сообщение 1429113)
Есть Microsoft SQL Server 2000 sp3, установленный на Windows 2000 Server SP4

Проверь версию Microsoft SQL Server 2000.

Версия Standart не умеет адресовать более 2 Гб памяти.

tyran 20.08.2007 12:17

Синхронизация MS SQL.
 
На трех компьютерах стоит MS SQL 2000 c одинаковыми базами. Данные меняются только на одном. Необходимо обеспечить синхронизицию баз. Есть ли подобный софт?

Borland 20.08.2007 12:56

А к чему изобретать велосипед?
1. MS SQL 2000 Enterprise поддерживает кластеризацию и репликацию.
2. Если синхронизацию достаточно производить раз в сутки, можно ночью по расписанию скриптом дампить базу с основного сервера и скриптом же поднимать на 2 остальных. http://www.microsoft.com/technet/pro...ackuprest.mspx

P.S. Тема про M$ SQL.
Клею.

V0land 31.10.2007 18:58

Добрый день, вопрос по MS SQL Server 2005 Express Edition.
на одном из компов в сети sql сервер стоит где-то с середины июня. проблем никаких не было - коннектился к нему с другого компа, делал все что нужно. Все в норме, короче говоря.
С недавних пор работаю на ноуте и вот сегодня появилась надобность опять подсоединиться к серверу. Проинсталлил на ноуте, пытаюсь подсоединиться - хрен. пишет вот такое:
_http://img236.***************img236/142/mssqlemgk6.jpg

почему так - понять не могу. на сервере никто ничего не менял. комп пингуется отлично, могу туда даже зайти через прогу удаленного адмистрирования. Есессно, все ремоут коннекшены разрешены. в чем может быть проблема?

зы. компы в одной сети, но в разных зданиях. не думаю что это как-то влияет.

pazdak 01.11.2007 11:45

V0land
Думаю, что проблема, в том что не запущенна служба SQL Server Browser Service, без нее ниодин инстанс удаленно не будет работать

V0land 01.11.2007 11:53

pazdak,
дык в том-то и дело что запущенно все =( вообще ничего не понимаю.

кстати вчера вечером откинул коньки сервис VNC... :-\

Rob 01.11.2007 13:07

Цитата:

Сообщение от V0land (Сообщение 1478294)
_http://img236.***************img236/142/mssqlemgk6.jpg

проверь в свойствах SQL сервера: Properties - Connections, установлена ли птичка Allow remote connections to...

V0land 01.11.2007 13:44

Rob,
Цитата:

Есессно, все ремоут коннекшены разрешены
http://img256.***************img256/6...sqlem02ub1.jpg
http://img229.***************img229/163/mssqlem03sf6.jpg


это не то?

pazdak 01.11.2007 15:22

V0land
На всякий случай документ из первоисточника:
How to: Enable Network Access in SQL Server Configuration Manager (SQL Server Express)

И еще попробуйте вместо имени сервера, использовать IP адрес, у меня такое однажды было, например 10.0.0.2\SQLEXPRESS

Rob 01.11.2007 16:00

V0land, можешь поставить Management Studio Express? Там и смотреть надо:
http://www.mypixshare.com/images/845...1/00000060.JPG

V0land 01.11.2007 22:43

всем спасибо, но вроде проблема из-за нового антивируса, который нам начали рассылать на этой неделе.
на след. неделе разберусь ;)

Shark1000 08.11.2007 10:09

Всем привет! Есть вопрос, может кто знает програму для сбора информации о работе пользователей (например информацию из Current Activity, кто подключен к SQL, сколько времени, к какой базе, какую команду выполняет, какие и сколька ресурсов использует) в MS SQL Server 2000 Standart Edition и сохранения ее в базу или лог.

ЕЖ 09.11.2007 15:04

Shark1000, а стандартный Profiler тебе для этих целей не подходит?

Shark1000 12.11.2007 11:55

Цитата:

Сообщение от ЕЖ (Сообщение 1481949)
Shark1000, а стандартный Profiler тебе для этих целей не подходит?

Разобрался. Подошел. Дописал скрипт... Спасибо


Часовой пояс GMT +4, время: 11:11.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.