![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тормоза MS SQL Server-a [D6, MSSQL]
ААР © (2005-07-11 11:38:00)Добрый день!
У меня вопрос не по Дельфи, а скорее по конфигурированию MS SQL.
Проблема состоит в очень медленном выполнении запросов по сети (на самом сервере все "летает"). Причем с быстродействием сети это вряд ли связано: в ней присутствует, например, еще MySQL, который работает нормально, да и сеть 100-Mbit... Возможно, кто-нибудь знает какие-нибудь настройки MS SQL, которые можно "покрутить"?
Заранее спасибо.
sniknik (2005-07-12 13:27:00) [1]вот описание, пересозданием мастера
To rebuild the master database
Shutdown Microsoft® SQL Server™ 2000, and then run Rebuildm.exe. This is located in the Program Files\Microsoft SQL Server\80\Tools\Binn directory.
In the Rebuild Master dialog box, click Browse.
In the Browse for Folder dialog box, select the \Data folder on the SQL Server 2000 compact disc or in the shared network directory from which SQL Server 2000 was installed, and then click OK.
Click Settings. In the Collation Settings dialog box, verify or change settings used for the master database and all other databases.
Initially, the default collation settings are shown, but these may not match the collation selected during setup. You can select the same settings used during setup or select new collation settings. When done, click OK.
In the Rebuild Master dialog box, click Rebuild to start the process.
The Rebuild Master utility reinstalls the master database.
Note To continue, you may need to stop a server that is running.
проверяй сам. у меня даже утилиты такой нету ... (на данный момент 2005-й MSSQL стоит)
sniknik (2005-07-12 13:16:00) [2]сам дефаултный вообщето при установке сервера задается, по другому не менял, не было нужды, правда видел на http://sql.ru/обсуждение на эту тему. поиши может найдеш.
ААР (2005-07-12 12:24:00) [3]Все понятно, спасибо за участие :) Создаю базу с коллатион=Cyrillic_General_blabla, все Ок.
Я только не понял, как коллатион "по умолчанию" изменить.
Зашел в свойства сервера, на закладке Server Settings выставил Default language for user = Russian, потом зашел в Security->Logins, поменял язык у всех юзеров (а он один - sa, и еще builtin\administrators). Перестартовал все, включая SQL Server. Запустил ентерпрайз, создал базу, а она по умолчанию с коллатион=SQL_Latin1_General...
sniknik (2005-07-12 11:50:00) [4]> Хм, ну как. Захожу в Ентерпрайз, открываю базу, создаю таблицу, добавляю поля... Потом забиваю строку русскими
> символами (нормально отображается). Закрываю, открываю снова (через ентерпрайз опять же) - а там знаки вопроса...
> Может, Винда?
ага, Бил Гейтс - собака, как же без него. ;о))
база должна быть создана с тем же коллатионом что и язык у юзера которым подключаешся. возможно они у тебя разные.
сделай так. зайди в свойства сервераубедись что там выставлен руский, зайди в свойства юзераубедись что и там тоже руский... (выбирай того под кем конектится энтерпрайз)
далее, выйди из него, запусти снова, создай базу... а дальше повтори все что делал уже с этой базой и смотри есть различия.
(создать нужно чтобы дефаултный коллатион взялся, так проще, хотя его можно указывать и при создании базы/таблици)
в винде кстати тоже перепроверь, руский точно везде стоит?
ААР (2005-07-12 11:30:00) [5]
> кто-то наверняка знает, интернет большой... глупый вопрос.
> не по делу.
>
> а по делу - как создается? и где отображаются вопросы? 100%
> вопросы это на преобразовании юникода.
Хм, ну как. Захожу в Ентерпрайз, открываю базу, создаю таблицу, добавляю поля... Потом забиваю строку русскими символами (нормально отображается). Закрываю, открываю снова (через ентерпрайз опять же) - а там знаки вопроса...
Может, Винда?
Anatoly Podgoretsky (2005-07-12 11:23:00) [6]ААР (12.07.05 10:18) [25]
Что то неправильно, у MS SQL все нормально не только с русским, но и с Юникод.
sniknik (2005-07-12 11:17:00) [7]> Может быть, кто-то знает, что делать?
кто-то наверняка знает, интернет большой... глупый вопрос. не по делу.
а по делу - как создается? и где отображаются вопросы? 100% вопросы это на преобразовании юникода.
ААР (2005-07-12 10:18:00) [8]
> создай пустой проект с ADOConnection - попробуй подключиться
> к серверу - будет пауза ?
Нет, эту проблему решили еще вчера. Теперь появилась проблема с кодировкой: видимо, при импорт из MySQL таблицы сохраняются в линуксовой кодировке, а в ADO по умолчанию cp1251, как я полагаю.
Импорт из MySQL в принципе не нужен, там 16 записей, можно вручную заколотить. Но теперь, когда я на MS SQL вручную создал новую таблицу, добавил в нее несколько строчек, русские буквы отображаются знаками "?". Операционка стоит Win2000 Adv Server, все кодовые страницы установлены, по умолчанию везде русский; в MS SQL все настройки вроде уже перебрал. Может быть, кто-то знает, что делать?
С уважением.
Polevi (2005-07-12 08:45:00) [9]>ААР (11.07.05 18:02) [23]
создай пустой проект с ADOConnection - попробуй подключиться к серверу - будет пауза ?
ААР (2005-07-11 18:02:00) [10]Проверил. DNS действительно работал, я его вырубил в службах. Но проблема осталась той же
ААР (2005-07-11 17:28:00) [11]
> проверь, не работает ли на компьютере с SQL Server DNS сервер
Собственно, как проверить это, я не знаю, но в Control Panel
->Administrative Tools есть пунктик DNS. Это "оно"? А при чем тут DNS?
Polevi (2005-07-11 15:17:00) [12]проверь, не работает ли на компьютере с SQL Server DNS сервер
ААР (2005-07-11 14:55:00) [13]2) Таблицы были импортированы из MySQL 3.23
1) Скрипт:
/****** Object: Table [dbo].[letters] Script Date: 11.07.2005 14:54:22 ******/
CREATE TABLE [dbo].[letters] (
[IdLetter] [numeric](6, 0) IDENTITY (1, 1) NOT NULL ,
[strFam] [varchar] (40) NULL ,
[strIm] [varchar] (40) NULL ,
[strOt] [varchar] (40) NULL ,
[strSerialDoc] [varchar] (10) NULL ,
[strNumberDoc] [varchar] (10) NULL ,
[dBirthDate] [smalldatetime] NULL ,
[strDocOrgan] [varchar] (72) NULL ,
[AccountId] [varchar] (25) NULL ,
[IdSystem] [numeric](6, 0) NULL ,
[Data] [smalldatetime] NULL
) ON [PRIMARY]
GO
(При работе через Zeos русские буквы отображались нормально)
Fay (2005-07-11 14:37:00) [14]2 ААР (11.07.05 14:27) [18]
1) скрипт таблицы с студию
2) таблицы всегда жили в этой базе, или были импортированы?
ААР (2005-07-11 14:27:00) [15]Пардон, осталась еще проблема. Точнее, появилась новая. При запросе через TADOQuery русский текст отображается кракозябрами. Как это можно поменять?
ААР (2005-07-11 14:16:00) [16]Ну понятно. Похоже что так оно и есть: при установке в AdoQuery
CursorLocation=clUseServer такие же тормоза.
С уважением.
Fay (2005-07-11 14:00:00) [17]2 sniknik © (11.07.05 13:52) [15]
Этого эффекта можно достичь и в dbGO. Нужно просто поставить клиентский курсор и получишь полный фетч(здец) 8)
sniknik (2005-07-11 13:52:00) [18]и кстати Zeos в итоге использует тот же ADO (OLE DB) для конекта с MSSQL, просто настройки делает свои. (опять же если то что я помню было о Zeos ;о)))
sniknik (2005-07-11 13:44:00) [19]Zeos насколько помню реализует один из вариантов конекта возможного через адо, и по умолчанию эти варианты в них различатся. в Zeos по умолчанию серверный курсор в ADO локальный. в Zeos подобие связки с клиентрекордсетом для докачки в ADO нет... и т.д. (если я конечно правильно помню, тестил Zeos с год назад)
но, проверь, открой Zeos-ом немерянную таблицу (с милионом и больше записей примерно) откроется (должна) с тойже задержкой что на 5ти, с адо(с настройками по умолчанию) будеш ждать дольше, намного долше, прежде чем чтонибудь увидиш.
ААР (2005-07-11 13:28:00) [20]Хех, странно.
Я использовал Zeos Library (были тормоза), попробовал теперь через ADO - все зашибись. Это конечно хорошо, но непонятно, почему тогда "через Zeos" не тормозит на машине с сервером БД.
Спасибо за помощь.