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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Bloody_Nokia_Adept



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

Цитата:
Можно ли сделать так, что бы запрос


Цитата:
не "переделывался"

MS SQL не переделывает запросы. Это оптимизатор может заменить эквисоединение на inner join, что суть есть одно и то же, однако сам текст запроса неизменен - это можно проверить по execution plan.
 
Можешь сказать какой тулзой пользуешься, просто я привык ходить на MS SQL через Query Analizer, а тот точно ничего подобного с запросами не выделывает.

----------
Дядя Фёдор, пес и кот - все в одном лице живет!
Он обфукать любит сразу, вот такая вот зараза!
Эпиграмма на меня, "1001 ночь ХАИ", 535 гр., 1999 г.

Всего записей: 785 | Зарегистр. 27-11-2002 | Отправлено: 13:02 18-07-2003
Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эта беда называется SQL Server Enterprise Manager

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 15:29 22-07-2003
Kuzik



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А когда он их переделывает... Никогда у меня не переделывал... А какой MS SQL?

Всего записей: 177 | Зарегистр. 25-04-2002 | Отправлено: 17:46 22-07-2003
v0yager



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

Цитата:
А когда он их переделывает... Никогда у меня не переделывал... А какой MS SQL?

Встроенный редактор запросов MS SQL Enterprise Manager переделывает тексты запросов, в том числе и запрос из первого поста. Этот редактор предназначен, в первую очередь, для визуального "построения запросов мышкой". Переформатирование же кода для визуальных редакторов совсем не редкость. (справка: для вызова встроенного редактора запросов - контекстное меню на таблице, Open Table/Query).
 
Megard
Свою задачу (редактирование запросов as-is без ненужной активности со стороны редактора) ты можешь решить с переходом на SQL Query Analyzer (входит в MS SQL 2K). Это не визуальный редактор, код тебе по своему усмотрению править не будет. Доступен object-browser через Tools/Object Browser/Show-Hide. Да и других вспомогательных средств хватает. И самое главное - никакой самодеятельности.

Всего записей: 95 | Зарегистр. 08-05-2003 | Отправлено: 08:48 23-07-2003 | Исправлено: v0yager, 08:49 23-07-2003
Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, я понял.
Еще такой вопрос:  
Я создаю новую базу, и там сразу появляются system tables, они для чего-то нужны или их сразу можно поудалять?

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 14:07 23-07-2003
Bloody_Nokia_Adept



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

Цитата:
Я создаю новую базу, и там сразу появляются system tables, они для чего-то нужны или их сразу можно поудалять?

Слушай, а когда ты покупаешь комп с предустановленной системой, то тоже пытаешься ее замочить и потом мучаешься на raw device? Это же system tables, разве не понятно, что они нужны?!
Вот выдержка из BOL:

Цитата:
Each database in Microsoft SQL Server contains system tables that record the data needed by the SQL Server components. The successful operation of SQL Server depends on the integrity of information in the system tables; therefore, Microsoft does not support users who directly update information in the system tables.

Где твой здравый смысл был, когда задавался этот вопрос?
Сразу предупреждая следующий вопрос про базы данных и какие из них можно замочить:

Цитата:
System Databases and Data
Microsoft SQL Server systems have four system databases:  
 
master  
The master database records all of the system-level information for a SQL Server system. It records all login accounts and all system configuration settings. The master database records the existence of all other databases and the location of the primary files that contain the initialization information for the user databases. The master database records the initialization information for SQL Server; always have a recent backup of master available.  
 
tempdb  
The tempdb database holds all temporary tables and temporary stored procedures and fills any other temporary storage needs. The tempdb database is a global resource; the temporary tables and stored procedures for all users connected to the system are stored there. The tempdb database is re-created every time SQL Server is started so the system starts with a clean copy of the database. Because temporary tables and stored procedures are automatically dropped on disconnect, and no connections are active when the system is shut down, there is never anything in tempdb to be saved from one session of SQL Server to another.  
 
The tempdb database grows automatically as needed. Each time the system is started, tempdb is reset to its default size. You can avoid the overhead of having tempdb grow automatically by using ALTER TABLE to increase the size of tempdb.  
 
model  
The model database is used as the template for all databases created on a system. When a CREATE DATABASE statement is issued, the first part of the database is created by copying in the contents of the model database, then the remainder of the new database is filled with empty pages. Because tempdb, which uses the model database, is created every time SQL Server is started, the model database must always exist on a SQL Server system.  
 
msdb  
The msdb database is used by SQL Server Agent for scheduling alerts and jobs and for recording operators.

 
Читай документацию по MS SQL!

----------
Дядя Фёдор, пес и кот - все в одном лице живет!
Он обфукать любит сразу, вот такая вот зараза!
Эпиграмма на меня, "1001 ночь ХАИ", 535 гр., 1999 г.

Всего записей: 785 | Зарегистр. 27-11-2002 | Отправлено: 14:25 23-07-2003
v0yager



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Megard
 
Удалить нельзя, подобные действия приведут базу данных в нерабочее состояние. В посте Bloody_Nokia_Adept об этом подробно написано.
 
Другое дело, что системные базы данных и системные объекты (в пользовательских базах) можно скрыть (с глаз долой...). Не удалить, а именно скрыть. Для этого в диалоговом окне "Registered SQL Server Properties" (контекстное меню на имени сервера, Edit SQL Server Registration Properties...) необходимо убрать checkbox напротив "Show system databases and system objects". Тогда системные объекты станут "бойцами невидимого фронта".

Всего записей: 95 | Зарегистр. 08-05-2003 | Отправлено: 14:44 23-07-2003
Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ок, понятно.  
Еще вопрос. В запросе типа:
 
select *
from customers
where rating in(select rating  
from customers
where rating in (select rating  
from customers
where rating=200))
 
сколько "уровней" вложенных подзапросов можно делать? Или это ни чем не ограничено?

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 16:20 24-07-2003
Bloody_Nokia_Adept



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

Цитата:
сколько "уровней" вложенных подзапросов можно делать? Или это ни чем не ограничено?

В стандарте ограничений нет, а вообще-то зависит от конкретной реализации
Конкретно касаясь MS SQL (как я помню говорим о нем):

Цитата:
Multiple Levels of Nesting
A subquery can itself include one or more subqueries. Any number of subqueries can be nested in a statement.
 
This query finds the names of authors who have participated in writing at least one popular computer book.
 
USE pubs
SELECT au_lname, au_fname
FROM authors
WHERE au_id IN
   (SELECT au_id
   FROM titleauthor
   WHERE title_id IN
      (SELECT title_id
      FROM titles
      WHERE type = 'popular_comp'))
 
Here is the result set:
 
au_lname                                 au_fname              
---------------------------------------- --------------------  
Carson                                   Cheryl                
Dull                                     Ann                  
Locksley                                 Charlene              
Hunter                                   Sheryl                
 
(4 row(s) affected)

 
Когда сам начнешь доку читать???

----------
Дядя Фёдор, пес и кот - все в одном лице живет!
Он обфукать любит сразу, вот такая вот зараза!
Эпиграмма на меня, "1001 ночь ХАИ", 535 гр., 1999 г.

Всего записей: 785 | Зарегистр. 27-11-2002 | Отправлено: 16:37 24-07-2003
Borduk



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

Цитата:
MS SQL не переделывает запросы. Это оптимизатор может заменить эквисоединение на inner join, что суть есть одно и то же, однако сам текст запроса неизменен - это можно проверить по execution plan.

 
Верно ли следующее утверждение: ... FROM TABLE1 INNER JOIN TABLE2 ON TABLE1.KEY = TABLE2.KEY работает дольше, чем FROM TABLE1, TABLE2 WHERE TABLE1.KEY = TABLE2.KEY

Всего записей: 9 | Зарегистр. 26-07-2003 | Отправлено: 18:27 26-07-2003
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Borduk
Неверно. Производительность абслоютно одинаковая. Чтобы убедиться, можно посмотреть планы выполнения запросов и сравнить их в обоих случаях.

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 15:13 29-07-2003
Borduk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
с Access-ом 97-м приходилось работать ?

Всего записей: 9 | Зарегистр. 26-07-2003 | Отправлено: 22:00 29-07-2003
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Borduk
Приходилось, только при небольших объемах данных.

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 10:40 30-07-2003
Borduk



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MrZeRo
Условие объединения ON (... AND ...) не поддерживается - или это у меня Access глючит ?
Т.е. запрос выполняется, но набор данных оне выдает неправильный

Всего записей: 9 | Зарегистр. 26-07-2003 | Отправлено: 15:47 31-07-2003
Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос: требуется подконектится к MS Sql серверу с помощью PHP.  
 
Если сделать это так:
 
$myServer = "127.0.0.1";
$myUser = "sa";
$myPass = "";
$s = mssql_connect($myServer, $myUser, $myPass),
 
то все работает. Если заменить 127.0.0.1 на "нормальный" ip или на localhost. То "Couldn't connect to SQL Server"... В чем может быть дело?
 

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 18:05 31-07-2003 | Исправлено: Megard, 18:08 31-07-2003
MrZeRo



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Borduk
Это не у тебя Access глючит, это он вообще так работает
Это неполноценная СУБД с неполноценно реализованным SQL. У меня тоже были проблемы с выполнением казалось бы правильно написанных запросов.
Попробуй переписать, например, с использованием конструкции UNION ALL, чтобы добавить нужные записи.

Всего записей: 831 | Зарегистр. 30-01-2002 | Отправлено: 17:25 01-08-2003
Borduk



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

Цитата:
Попробуй переписать, например, с использованием конструкции UNION ALL, чтобы добавить нужные записи.

 
Вся привлекательность MS Access 97 была в кажущейся совместимости (полной) с MS Access 2.0 (конвертим базы и переписываем клиентов)
 
Так что лучше прыгать будем сразу на MS SQL
 
Спасибо огромное

Всего записей: 9 | Зарегистр. 26-07-2003 | Отправлено: 19:09 01-08-2003
Megard

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плз, как сделать представление, которое бы содержало все названия таблиц из базы данных?

Всего записей: 135 | Зарегистр. 13-09-2002 | Отправлено: 13:58 04-08-2003
v0yager



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Megard
 
Для MS SQL такие представления уже есть. Префикс: INFORMATION_SCHEMA_...
С деталями можно ознакомиться в Books Online. Без системных представлений данные о таблицах базы данных можно извлечь из sysobjects.

Всего записей: 95 | Зарегистр. 08-05-2003 | Отправлено: 08:49 05-08-2003
Открыть новую тему     Написать ответ в эту тему

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