Отправляет email-рассылки с помощью сервиса Sendsay

MS SQL Server

  Все выпуски  

MS SQL Server - дело тонкое...


Информационный Канал Subscribe.Ru


#139<<  #140

СОДЕРЖАНИЕ

1.СЕМИНАР
1.1.Оптимизация приложений баз данных и Microsoft SQL Server 2000
2.СОВЕТЫ
2.1.Безопасность Microsoft SQL Server 2000 (ПРОДОЛЖЕНИЕ)
3.ССЫЛКИ НА СТАТЬИ
3.1.Статьи на русском языке
3.2.Новые технические статьи Microsoft
3.3.Англоязычные статьи
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа
5.ПОЛЕЗНОСТИ
5.1.Фундаментальные алгоритмы и структуры данных в Delphi
5.2.О сайте http://sql.ipps.ru
5.3.Модель зрелости процессов разработки программного обеспечения

СЕМИНАР

Оптимизация приложений баз данных и Microsoft SQL Server 2000

Группа компаний Талгар совместно с www.SQL.ru проводит пятый ежемесячный семинар, посвященный СУБД Microsoft SQL Server.

На семинаре обсуждаются вопросы программирования и администрирования баз данных на основе Microsoft SQL Server 2000.

Семинар состоится 29 апреля 2003 года в Учебно-консультационном центре Группы компаний Талгар в 11-00.

На семинаре будут представлены доклады:

Вы можете заранее задать вопрос докладчику или определить темы, которые вы хотели бы обсудить на предстоящем семинаре. Для этого необходимо послать письмо на адрес mssql@talgar.ru.

Если у вас есть предложения по пополнению программы семинара Вашими сообщениями мы ждем их по адресу mssql@talgar.ru. Формат сообщений 20-30 минут, хорошо если будет презентация.

Участие в семинаре бесплатно.

Внимание! Количество участников ограничено. Большая просьба направлять на семинар от каждой организации не более двух человек.

Для участия в семинаре необходимо заполнить регистрационную форму на каждого участника семинара и отправить ее по факсу или электронной почте. Также Вы можете заполнить регистрационную форму на нашем веб-сайте. По всем вопросам регистрации , пожалуйста, обращайтесь к менеджеру Хуриленко Оксане. Тел./факс (095) 333-72-13, 128-88-66, 128-93-41

[Содержание]

СОВЕТЫ

Безопасность Microsoft SQL Server 2000 (ПРОДОЛЖЕНИЕ)

По материалам статьи Richard Waymire и Ben Thomas: Microsoft SQL Server 2000 Security

1.         Введение
2.         Новшества безопасности SQL Server 2000
2.1.      Безопасная инсталляция
2.2.      Установка Microsoft SQL Server 2000 Desktop Engine
2.3.      Уровень безопасности C2
2.4.      Kerberos и делегирование в среде Windows 2000
2.5.      Аудит безопасности
2.6.      Исключение SQLAgentCmdExec Proxy Account
2.7.      Расширение набора серверных ролей
2.8.      Шифрация
2.9.      Пароли
2.10.    Модель безопасности SQL Server 2000
2.11.    Режимы аутентификации
2.12.    Поддержка Security Identification Numbers
2.13.    Роли
2.14.    Обеспечение доступа к серверу
2.15.    Обеспечение доступа к базе данных
3.         Реализация безопасности на уровне сервера
3.1.      Использование идентификаторов безопасности (SID)
3.2.      Отказ от Server User Identification Numbers (SUIDs)
3.3.      Генерация GUID для не доверительных подключений пользователей
3.4.      Переименование пользователя Windows или учётной записи группы
3.5.      Системная таблица sysxlogins
3.6.      Столбец xstatus
3.7.      Столбцы dbid и language
3.8.      Состояние hasaccess
3.9.      Состояние denylogin
3.10.    Представление sysremotelogins
3.11.    Представление sysoledbuser

4. Реализация безопасности на уровне объектов

4.1. Как проверяются разрешения

SQL Server 2000 использует SID для идентификации пользователей и групп Windows. Однако, из-за большой длины SID (до 85 байтов), SQL Server 2000 в таблице sysusers привязывает SID к ID пользователя для каждой базы данных. ID пользователя используется в таблице sysobjects для обозначения владельца таблиц. Также он используется в таблице syspermissions, чтобы зафиксировать разрешения на объекты и в таблице systypes для обозначения владельца определяемых пользователем типов.
Когда пользователь подключается к SQL Server 2000, сервер создает в памяти структуру состояния процесса (Process Status Structure - PSS), которая включает SID пользователя, SID группы и другую информацию о безопасности и состоянии. Эта структура является фиксированной во время пользовательского соединения и не обновляется. Она существует в рамках сеанса подключения к серверу каждого пользователя, и для каждого сеанса будет своя PSS.
Когда пользователь подключается к базе данных, SQL Server проверяет таблицу sysusers, чтобы установить, был ли пользователь лишён доступа напрямую или через включающие его группы. Если пользователь лишён доступа, всё для него заканчивается, иначе таблица sysusers проверяется снова, но на это раз собираются все относящиеся к пользователю id для того, что бы его квалифицировать. После того, как это сделано, что бы пользователю был предоставлен доступ к базе данных, просматривается таблица sysmembers, чтобы выяснить, в какие роли включён пользователь. Например, пользователь может быть членом роли, членом группы Windows или переопределён на другого пользователя. Пользовательские id всех имеющихся у него ролей анализируются, чтобы можно было применить все соответствующие ему разрешения. В отличие от структуры PSS, эта информация не сохраняется.
Когда пользовательские запросы обращаются к объектам базы данных, его разрешения определяются из таблицу syspermissions для записей с соответствующим id пользователя (как описано ранее). Сначала проверяется Deny, и если оно найдено, пользователь не получить доступ к объекту. Однако, если Deny не найдены, и записи разрешающие пользователю запрашиваемый им доступ существуют, доступ будет предоставлен. Для повышения эффективности, разрешения на доступ будут кэшированы, чтобы при повторном доступе к тем же самым объектам того же пользователя снизить стоимость проверки разрешений доступа.

[Содержание]

4.2. Стоимость изменений разрешений

Как сказано ранее, SQL Server 2000 кэширует разрешения на объекты в рамках одного сеанса, чтобы снизить стоимость проверки разрешений для повторного доступа к тем же самым объектам. В отличие от PSS, который не изменяет информацию о безопасности после того, как он создан, кэш разрешений всегда актуален, что обеспечивает версионный метод. Когда первоначальная проверка разрешений завершена, устанавливается номер версии. Когда разрешения на объекты изменены, SQL Server 2000 увеличивает счетчик версии. Всякий раз, когда происходит обращение к объекту, версия счетчика разрешений проверяется, и если она отличается от счетчика в кэше, контент кэша отвергается, и восстанавливаются действующие на этот момент разрешения.
Кэширование безопасности используется всегда, когда обращаются к объекту, и если значение счетчика версии не изменилось. Если счетчик изменился, для текущей операции будет затрачено немножко больше ресурсов.

[Содержание]

4.3. Переименование пользователя Windows или учетной записи группы

В SQL Server 2000 можно предоставить пользователям и группам Windows разрешение обращаться непосредственно к объектам в базе данных. В этом случае, SID и имя пользователя или группы Windows будут сохранены в таблице sysusers. Когда системный администратор переименовывает группу или пользователя Windows, это изменение имени не будет отражено в SQL Server 2000.
Несмотря на то, что это выглядит как проблема, это способствует уменьшению возможных проблем, вызванных изменением имён.
В SQL Server 2000, как и в более ранних версиях, администраторы и разработчики создают множество хранимых процедур, скриптов Transact-SQL, триггеров и так далее. Предположим, что пользователь Susie Jones создала таблицу в базе данных. Имя логина Susie - SUSIEJ и её таблица называется SUSIEJ.SALESDEMO. Susie предоставляет разрешения для других пользователей, чтобы они могли обращаться к её таблице и несколько её коллег создают представления и хранимые процедуры, основанные на её таблице. Когда Susie вышла замуж за Bob Taylor, её имя пользователя переименовали в SUSIET. Если бы SQL Server 2000 перенял эти изменения, таблица Susie была бы переопределена, как SUSIET.SALESDEMO, став при этом совершенно другим объектом. Представления, хранимые процедуры и любой другой код, который был написан, чтобы обращаться к этой таблице, перестал бы работать.
В целях обеспечения стабильности, SQL Server 2000 не переименовывает автоматически учетные записи пользователей, если реальная учетная запись пользователя в каталоге Windows была переименована.

[Содержание]

4.4. Выведена из обращения системная таблица sysprocedures

В SQL Server 6.5 и более ранних версиях, когда создавалась хранимая процедура, текст определяющего её запроса сохранялся в системной таблице syscomments а нормализованное дерево запроса сохранялось в системной таблице sysprocedures. Процесс нормализации анализирует инструкции SQL и преобразует их в более эффективные формы, а также переводит все вызываемые объекты в их внутренние представления. После исполнения процедуры, дерево запрашивалось из таблицы sysprocedures и использовалось в качестве основы для оптимизации плана исполнения, который сохранялся в кэше процедур.
Может показаться, что нет никакой связи между описанным процессом и безопасностью. Однако, необходимость рассмотрения безопасности основана на том факте что некоторые разработчики, в попытке защитить исходные тексты процедур, удаляли его из syscomments. В большинстве случаев, исходный текст действительно не использовался повторно, пока сервер не был модернизирован до более поздней версией SQL Server или пока не был применён очередной сервисный пакет обновления. В настоящее время разработчики имеют механизм для скрытия исходного текста процедур от пользователей, которые не должны иметь к нему доступа, и обеспечивается это опцией WITH ENCRYPTION, появившейся в версии SQL Server 6.0. Эта опция шифрует исходный текст после создания хранимой процедуры.
В SQL Server 7.0 или 2000, любой администратор, который удалит соответствующие записи из таблицы syscomments, обнаружит, что хранимая процедура перестанет выполняться. Это произойдёт потому, что таблица sysprocedures была удалена из SQL Server 2000, который теперь получает тексты процедур до выполнения и непосредственно из таблицы syscomments.

[Содержание]

4.5. Опция WITH GRANT

Опция WITH GRANT является дополнением синтаксиса инструкции GRANT. Эта опция применяется для предоставления возможности пользователю, получившему разрешения через инструкцию GRANT, передавать эти разрешения другим пользователям.
Например, если Боб предоставил Джейн разрешение на SELECT и использовал WITH GRANT OPTION, Джейн сможет предоставлять разрешение на SELECT другим пользователям.
Когда Боб отменит разрешение на SELECT для Джейн, он может использовать опцию CASCADE, чтобы отменить разрешения на SELECT и тем пользователям, которым Джейн предоставила разрешение на SELECT.

[Содержание]

4.6. Системная таблица sysusers

В некотором смысле, таблица sysusers в базе данных, выполняет аналогичные функции таблицы sysxlogins для всего сервера. Таблица sysusers существует в каждой базе данных, и содержит информацию о том, кому предоставляется или запрещается доступ к базе данных.

[Содержание]

4.6.1. Столбец hasdbaccess

Столбец hasdbaccess используется аналогично столбцу hasaccess в таблице sysxlogins. Если для относящейся к пользователю записи этот флаг установлен в ноль, значит ему при создании не были явно предоставлены права для обращения к базе данных, но он или создал объекты или получил явно разрешения или был явно добавлен в роль. Объекты, созданные пользователем, принадлежат ему всегда и не могут принадлежать группе, через которую пользователю был предоставлен доступ к базе данных. Исключением является тот случай, когда пользователь, состоящий в роли или в группе Windows, явно указывает роль или группу как владельца объекта при его создании. В этом случае, запись пользователя должна существовать в таблице sysusers, иначе, объект не сможет иметь назначенного для него владельца. Запись будет создана автоматически, но пользователь не получит явного доступа к базе данных, потому что флаг hasaccess у него установлен в ноль.
Ролям, которые также присутствуют в таблице sysusers, значение в столбце hasdbaccess всегда устанавливается в ноль.

[Содержание]

4.7. Системная таблица sysmembers

Системная таблица sysmembers является одной из самых маленьких таблиц. Она содержит два столбца, и используется для включения пользователей в роли базы данных. Для каждого члена роли базы данных заводится одна строка.
Для повышения эффективности обслуживания ролей, SQL Server 2000 помещает первую роль, в которую включён пользователь, в столбец gid относящейся к этому пользователю записи таблицы sysusers. Таким образом, когда SQL Server 2000 идентифицирует все роли, к которым принадлежит пользователь, он не станет просматривать таблицу sysmembers, если столбец gid таблицы sysusers содержит ноль. Если значение в этом столбце не равно нулю (тогда оно определяет одну из ролей), таблица sysmembers будет просмотрена, что бы определить полный список всех ролей, к которым принадлежит пользователь.

[Содержание]

4.8. Системная таблица syspermissions

Имеющаяся в каждой базе данных системная таблица syspermissions была введена в SQL Server 7.0. В более ранних версиях, чтобы обслуживать разрешения использовалась системная таблица sysprotects. Таблица syspermissions используется, чтобы зафиксировать разрешения, которые были предоставлены или отклонены пользователям.
Эта таблица включает всего несколько столбцов. Столбец id является ссылкой на id объекта, для которого предоставляются или отклоняются разрешения. Для операторных разрешений, значение этого столбца устанавливается в ноль.
Назначение столбцов grantee и grantor очевидно по названиям. Значениями этих столбцов являются id ролей и пользователей или групп Windows, которые можно найти в таблице sysusers.
Столбец actadd указывает на положительное разрешение (на предоставленные разрешения) для всех столбцов (в случае таблицы) объекта, в то время как столбец actmod указывает для такого же объекта на отсутствие (отклонение) разрешений.
Оставшиеся столбцы используются только для разрешений уровня столбца. Столбец seladd для разрешений на SELECT, и является маской столбцов, к которым относится это разрешение. Поскольку такая схема позволяет никогда не использовать ID столбец повторно, использование маски положительно сказывается на эффективности. Столбец selmod предназначен для отклонения разрешений на SELECT.
Следующие два столбца по смыслу очень похожи на предыдущие два, за исключением того, что они оперируют разрешениями на UPDATE.
Последние два столбца оперируют разрешениям на REFERENCES, и используются таким же образом, как и предыдущие четыре столбца.

[Содержание]

4.9. Системная таблица sysprotects

Назначение системной таблицы sysprotects изменилось, по сравнению с более ранними версиями. В SQL Server 6.5 и в ранних версиях, таблица sysprotects хранила разрешения на объекты. В SQL Server 7.0 и SQL Server 2000 эта информация теперь хранится в таблице syspermissions.
Для большинства системных таблиц, назначение которых изменилось по отношению к старым версиям, были введены специальные представления, которое обеспечивают обратную совместимость. Например, в базе master существует таблица sysxlogins, а представление на её основе с именем syslogins обеспечивает обратную совместимость.
Однако, в случае системной таблицы sysprotects, изменения в основывающей её таблице были настолько велики, что представление не способно полностью обеспечить обратную совместимость. По этой причине, пришлось отказаться от создания представления sysprotects, а создана была специальная таблица sysprotects, являющаяся обычной системной таблицей, но в реальности создаваемая динамически, когда это необходимо.
Поэтому таблица sysprotects несколько напоминает представление, поскольку она фактически не сохраняется в виде страниц данных. Однако, как и у представлений, её поведение определяется на уровне движка базы данных, и поэтому объект sysprotects виден в sysobjects как таблица.

ПРОДОЛЖЕНИЕ СЛЕДУЕТ

[Содержание]

ССЫЛКИ НА СТАТЬИ

Статьи на русском языке

TESTBytes - средство тестирования БД
При создании информационных систем наиболее критичным по отношению к реализации проекта является фактор времени. Поэтому, устранение узких мест, особенно на такой стадии жизненного цикла создания системы, как разработка, резко повышает шансы на успешное завершение всего проекта как по времени, так и по стоимости...
Управление корпоративными СУБД: возвращение на землю
Достаточно немного понаблюдать за работой администратора базы данных, как понимаешь, насколько сложны современные средства управления, с которыми ему приходится иметь дело, и как велика лежащая на нем ответственность. Порой кажется, что охватить всю распределенную систему взглядом можно, только поднявшись под облака, а управление ею доступно лишь небожителям...
Простота и сложность проектирования баз данных с помощью ERwin
Ни для кого не секрет, что ERwin является мощным и одновременно простым в использовании средством проектирования баз данных, завоевавшим широкое признание и популярность. Оно обеспечивает высочайшую продуктивность труда при разработке и сопровождении приложений с использованием баз данных...
Информационная система и реляционная СУБД
Итак. "Каждая хозоперация подлежит отражению в одной и той же сумме одновременно по дебету одного счета и кредиту другого.". Уберем из этого определения плохо детерминированное понятие "хозоперация" и введем понятие "проводка". Так всем будет понятнее. Получится: "Каждая проводка подлежит отражению в одной и той же сумме одновременно по дебету одного счета и кредиту другого."...
Power Designer 9.5 - последнее слово UML-проектирования от Sybase
В среде корпоративных пользователей компания Sybase известна как источник надежных и производительных инструментов разработки уровня предприятия. Новый PowerDesigner 9.5 еще раз подтверждает репутацию компании в этом качестве...
Настройка DataGrid в Windows Forms
В этом документе демонстрируется, насколько легко использовать Windows Forms-элемент управления DataGrid в Microsoft Visual Studio .NET для простого вывода табличных данных на форме. Кроме того, объясняется, как изменить поведение этого элемента по умолчанию, что позволяет применять его с большей гибкостью...
Зачем проводить аудит информационных систем?
Под термином аудит Информационной Системы понимается системный процесс получения и оценки объективных данных о текущем состоянии ИС, действиях и событиях, происходящих в ней, устанавливающий уровень их соответствия определенному критерию и предоставляющий результаты заказчику...
Интеграция Microsoft SQL 2000 и XML
B настоящее время разработчики программных продуктов все чаще при решении вопроса о выборе базы данных останавливаются на Microsoft SQL Server 2000. Этот выбор определяется применением традиционных реляционных технологий: хранения, извлечения, анализа и обработки больших объемов структурированных данных. Однако Microsoft SQL Server 2000 имеет такую замечательную характеристику, как интеграция с XML, что предоставляет разработчикам возможность создавать приложения, способные перемещать данные между разнородными техническими или программными платформами...
Сложные графики и диаграммы в ASP.NET. Часть первая - OWC
Решив написать статью про построение графиков в ASP.NET, я понял, что одной статьи не хватит и запланировал серию из трёх статей. Данная статья, первая из серии, предлагает решение через OWC и генератор клиентского скрипта, так сказать введение в OWC. Здесь мы рассмотрим 2 типа графиков (круговая диаграмма и столбчато-линейная :))...

[Содержание]

Новые технические статьи Microsoft

Support WebCast: Microsoft SQL Server 2000: The Types of Replication and When to Implement Each
Support WebCast: Microsoft SQL Server 2000: An Introduction to SQL Server 2000 (64-bit) and Analysis Services (64-bit)
SQL Server Support Center
SQL Server 2000 Windows CE Edition 2.0 for Visual Studio .NET 2003
PRB: Virtual SQL Server 2000 Installation Fails on Cluster That Has Eight Nodes
PRB: User Logon and/or Permission Errors After Restoring Dump
PRB: SQL Server CE 2.0 Does Not Support eMbedded Visual Basic 3.0
PRB: Error 7399 When You Run a Linked Server Query That Uses the OLE DB Provider for Microsoft Jet
PRB: Clients with Force Protocol Encryption Set On May Fail to Connect with an IP Address
PRB: Changes to a Table That Is Part of an "Immediate Updating" Subscription Generates an Error Message
PRB: Access Violation Exception Occurs When Optimized Query Plan Uses Hash Match Team Operator
PRB: "Setup Failed to Configure the Server" Error Message When You Install MSDE
INFO: ODBC Client Error After Connecting Using MDAC SQL Server Driver
INF: Using SqlCeDataReader with SQL Server CE 2.0 in Visual Basic .NET
INF: SQL Server 6.5, SQL Server 7.0, and MSDE 1.0 Support on Windows Server 2003
INF: Performance Considerations for an Upgrade from SQL Server 6.5
INF: How to Restrict the Inner Table of an ANSI Outer Join
INF: How to Enable Encryption Support for SQL Server CE Databases
INF: How to Determine When an Unattended SQL Server 7.0/MSDE 1.0 Setup is Complete
INF: How to Create a Custom Sort Order Definition File
INF: How to Author MSDE 2000 Setup Packages with Microsoft Visual Studio Installer 1.1
INF: Extended Procedure Error: "Cannot find the DLL 'xxx.dll'"
INF: Considerations for Autogrow and Autoshrink Configuration
HOW TO: Use the SQLIOStress Utility to Stress a Disk Subsystem Such as SQL Server
HOW TO: Use the SQL Distributed Management Objects Model to Programmatically Transfer SQL Server Stored Procedures
HOW TO: Program the SQL Snapshot and SQL Distribution Control with Visual C# .NET
HOW TO: Enable SSL Encryption for SQL Server 2000 with Certificate Server
FIX: Possible Cluster Failover Issues with Pre-Service Pack 4 Version of SQL Server 7.0
FIX: Incorrect Cardinality Estimates for NOT EXISTS Predicates After You Upgrade to SQL Server 2000 Service Pack 3
FIX: Cannot Use Non-Administrator Account to Start SQL Server and Force Encryption
BUG: ESQL-C: Error "Division by Zero" During Precompilation

[Содержание]

Англоязычные статьи

No Database Champion
Fabian Pascal
A meaningful dialog on any topic in a scientific domain (that is, arguments that are either true, or false) - as distinct from personal beliefs and preferences, esthetics, ethics, and so on - requires adequate knowledge and sound, clear, and precise reasoning (see "Why Is It Important to Think Precisely" in Relational Database Writings, 19xx-19xx). In the data management field, those who explain, criticize, or propose to extend or replace the relational model (RM) - which is nothing but the application of logic and math to database management - ought, at a minimum, to know and understand the model. Alas, as the weekly quotes at DATABASE DEBUNKINGS demonstrate, in the IT industry this is not deemed necessary: knowledge and understanding of the field's foundations is abysmally poor. Arguments are riddled with confusion and fuzziness, of which practitioners often even boast. Even though you would not know it from the profusion of claims of technological progress by the industry and media, database technology is actually regressing (see "Skyscrapers with Shack Foundations").
So You Want an IOT
Peter Gulutzan and Trudy Pelzer
An Index-Organized Table (IOT) is not a Heap-Organized Table (HOT). You must treat them differently if you do many bulk loads, range scans, data changes, or lookups.
Keeping Time
Joe Celko
SQL is the first programming language to have explicit temporal datatypes. I have had the theory that if Cobol had been designed with a TIMESTAMP datatype, we would have avoided all that Y2K trouble. At least now, more people are aware of the ISO 8601 time and date display standards. Who knows? Maybe people will start to use them.
What Is a DBA?
Craig S. Mullins
Managing a multiplatform environment complicates the job of database administration. A whole batch of different problems and issues arise that need to be addressed. The first task is to define the scope of each DBA's job. Does a single DBA administer all of the different DBMSs or does each DBA focus on supporting only one DBMS?
Transaction Log Guidelines
by Craig S. Mullins
Every SQL Server database has at least two files associated with it: one data file that houses the actual data and one transaction log file. The transaction log is a fundamental component of a database management system. All changes to application data in the database are recorded serially in the transaction log. Using this information, the DBMS can track which transaction made which changes to SQL Server data.
SQL Injection Security Threats
John Paul Cook
SQL injection is a serious threat to any vendor's SQL database in which applications use dynamic SQL (i.e., SQL compiled while the application is running). A hacker knowledgeable of SQL can exploit weaknesses presented by such applications. Good application design can mitigate the risks. Instead of focusing on satisfying just the literal business requirements, designers must carefully consider how an application can be used by a hacker in ways not intended. Additionally, DBAs must work with developers to grant only the most minimal of permissions to an application

[Содержание]

ФОРУМ SQL.RU

Самые популярные темы недели

Междумордие
Ваше мнение об упражнениях SELECT на http://sql.ipps.ru
О Data Controls в Delphi
вопрос по ключам
Получение прогресса выполнения хранимой процедуры
" undo" для приложения работающего с базой
Тормоза сервера при вставке
Profiler
Повышение производительности сервера
Замена пробела на пустое значение
StoredProc как можно в одной процедуре вставить строки в 2 таблицы
Как передать в процедуру TEXT-параметр
Версионность процедур
Нарастающие итоги в последний раз
Свой парсинг
Резкий рост Ж.Т. вместе с 1С
Серверный агент не стартует?
Хранение файла на стороне сервера
Несколько таблиц в одном селекте
ADO, параметры и MS SQL
cервер <--> TCP/IP <--> клиент
Передача Null через параметр
Как удалить ветку дерева?
Как избавиться от дедлоков?
работа с sql'ем через браузер
SQL на контролер домена
Остановка сервиса sqlservr
как написать запрос для постраничной выборки данных?
Как вернуть данные в переменную с помощью exec или sp_executesql.
СЕМИНАР: Применение CASE ср-в при разработке баз данных
Как посмотреть значение наиболее близкое к искомому
оптимизация запроса
глупый вопрос про отображение таблиц и связей...
Цвета в редакторе
Как восстановить БД ?????
Новые упражнения на http://sql.ipps.ru
распределённое хранение данных
Помогите строкой подключения к SQL серверу из VB
Delphi7+ADO+MSSQL2000+TStoredProc
Интересно: Job временами филонит... (+)
SQL Server Agent капризничает
Получение выборки из базы (SELECT) из extended stored proc
distinct и сортировка данных
Очередной глупый вопрос
Джентльмены, еще вопрос по триггерам?
Каков синтакс для создания системной таблицы?
вложенные Категории с помощью одной ХП
Сравнение двух записей...
1c и MsSQL
перенос хп?
перехват и преобразовани SQL-запросов
Оличия SQL Server 2000 Eterprise от Developer edition
Подскажите алгоритм или направьте ...
Как создать БД там, а не вот там?
IP в SQL процедуре
Почему SQL-серву лень работать?
Выгрузка данных в скрипт
Настройка SQL Mail
Как просмотреть лог транзакций?
Недостаточные или неполные сведения о ключевом поле.
Как сделать многострочный ТОР 1 * ?
Номерация (как быть с дырками)
Смена имени у SQL сервера
tempdb и производительность
Проблема с репликацией - помогите!
Как поменять порядок столбцов в таблице?
как заполнить сеществующую sql базу
Творцы ХП
Ошибка сервера
Запрос SQL
Как программно в базу MS SQL2000 вставить GUID ?

[Содержание]

Вопросы остались без ответа

Отсутствие объекта sysobjects
Как работают временные таблицы в Sql2000 ?
Инструменты для нагрузки MS SQL
Изменения в графе
Трансляция User and Roles между серверами
DTS из *.dbf
Настройки MSSQL 7.0 SP3 ???????
Profiler
Копирование BackUp
Семинар по Microsoft .NET Framework в Windows 2003
C++ lang=EN-US style='mso-ansi-language:EN-US'>Builder
Призраки
Прога для контроля установленных обновлений SQL

[Содержание]

ПОЛЕЗНОСТИ

Фундаментальные алгоритмы и структуры данных в Delphi

Джулиан Бакнелл

Книга Фундаментальные алгоритмы и структуры данных в Delphi представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала Delphi Informant за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как самая лучшая книга по практическому применению всех версий Delphi. В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Изобилие тщательно проверенных примеров кода существенно ускоряет не только освоение фундаментальных алгоритмов, но также и способствует более квалифицированному подходу к повседневному программированию. Несмотря на то что книга рассчитана в первую очередь на профессиональных разработчиков приложений на Delphi, она окажет несомненную пользу и начинающим программистам, демонстрируя им приемы и трюки, которые столь популярны у истинных профи. Все коды примеров, упомянутые в книге, доступны для выгрузки на Web-сайте издательства.

[Содержание]

О сайте http://sql.ipps.ru

Сайт поможет каждому, кто хочет приобрести или повысить свои навыки в написании SQL-оператора SELECT, осуществляющего выборку из базы данных. Суть обучения состоит в том, что вы сами пишите оператор SELECT, который должен вернуть данные, требуемые заданием. При этом, в случае неправильного ответа, вы сможете узнать, какие данные возвращает правильный запрос, а также увидеть, что вернул ваш запрос. Кроме того, есть возможность выполнять любые операторы SELECT к имеющимся базам данных, отключив опцию проверки. Упражнения имеют разный уровень сложности (от 1 до 3), который проставлен во втором столбце списка упражнений. Вы можете выбирать и выполнять задания в любом порядке. В третьем столбце списка упражнений будут отмечаться ("OK") номера правильно выполненных упражнений для зарегистрировавшихся посетителей. Это, собственно, является основной причиной для регистрации. Регистрация бесплатна. Посетив наш сайт впоследствии, вам не нужно будет вспоминать, какие упражнения вами уже выполнены, а какие - нет. Однажды зарегистрировавшись, вы впоследствии вводите логин и пароль, указанные при регистрации. Если вы не хотите регистрироваться, то можно зайти, не вводя имя пользователя и пароль. В этом случае система не будет отслеживать ваши успехи.

[Содержание]

Модель зрелости процессов разработки программного обеспечения

Билл Куртис, Марк Паулк, Мэри Бет Хриссис, Чарльз

Книга Фундаментальные алгоритмы и структуры данных в Delphi представляет собой уникальное учебное и справочное пособие по наиболее распространенным алгоритмам манипулирования данными, которые зарекомендовали себя как надежные и проверенные многими поколениями программистов. По данным журнала Delphi Informant за 2002 год, эта книга была признана сообществом разработчиков прикладных приложений на Delphi как самая лучшая книга по практическому применению всех версий Delphi. В книге подробно рассматриваются базовые понятия алгоритмов и основополагающие структуры данных, алгоритмы сортировки, поиска, хеширования, синтаксического разбора, сжатия данных, а также многие другие темы, тесно связанные с прикладным программированием. Изобилие тщательно проверенных примеров кода существенно ускоряет не только освоение фундаментальных алгоритмов, но также и способствует более квалифицированному подходу к повседневному программированию. Несмотря на то что книга рассчитана в первую очередь на профессиональных разработчиков приложений на Delphi, она окажет несомненную пользу и начинающим программистам, демонстрируя им приемы и трюки, которые столь популярны у истинных профи. Все коды примеров, упомянутые в книге, доступны для выгрузки на Web-сайте издательства.

#139<<  #140

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Александру Гладченко на адрес: mssqlhelp@pisem.net

sql.ru Описание рассылки

МИНИФОРМА
ПОДПИСКИ




http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное