SQL.RU
 client/server technologies
 Главная | Документация | Статьи | Книги | Форум | Блоги | Опросы | Гостевая | Рассылка | Работа | Поиск | FAQ |
   
#154<<  #155  >>#156

СОДЕРЖАНИЕ

1.БЕЗОПАСНОСТЬ
1.1.Кумулятивный патч для Microsoft SQL Server/MSDE
2.СОВЕТЫ
2.1.Проблемы резервного копирования и восстановлениz баз данных SQL Server
2.2.Навигация по времени в OLAP: недели и месяцы
3.ССЫЛКИ НА СТАТЬИ
3.1.Статьи на русском языке
3.2.Новые и обновлённые технические статьи Microsoft
3.3.Англоязычные статьи
4.ФОРУМ SQL.RU
4.1.Самые популярные темы недели
4.2.Вопросы остались без ответа

БЕЗОПАСНОСТЬ

Кумулятивный патч для Microsoft SQL Server/MSDE

По сообщению securitylab.ru от 24 июля 2003, Microsoft выпустила патч, который включает все предыдущие исправления для SQL Server 7.0, SQL Server 2000, MSDE 1.0, и MSDE 2000 и дополнительно устраняет три новых уязвимости:

1. Named Pipe Hijacking - поднятие привилегий;
2. Named Pipe Denial of Service - отказ в обслуживании;
3. SQL Server Buffer Overrun -переполнение буфера.

Для устранения уязвимости, скачайте соответствующее исправление:

Примечание автора рассылки: Это первый патч, который имеет мастера установки обновляемых компонент и запуска необходимых скриптов. Пользовательский интерфейс мастера достаточно информативен и понятен. Он немного напоминает процесс установки сервисного пакета. Видимо, более нам не придется заменять файлы и запускать скрипты вручную, что отпугивало многих DBA от применения заплат SQL Server на промышленных серверах.

СОВЕТЫ

Проблемы резервного копирования и восстановлениz баз данных SQL Server

По материалам статьи Alexander Chigrik: Troubleshooting SQL Server Backup/Restore Problems
Перевод: Ирины Наумовой

Если у Вас возникают проблемы с резервированием/восстановлением баз данных, просмотрите следующие рекомендации по выявлению проблем и принятию по ним правильного решения.

1. Убедитесь в том, что для Вашего SQL Server установлен последний сервисный пакет (service pack) и последующие заплаты.
Для того, чтобы проверить, какой сервиспак у Вас установлен, просмотрите следующую статью : How can I check what SQL service pack am I running? На момент перевода этой статьи, запрос select @@version должен возвращать: 8.00.818

2. Убедитесь в том, что у Вас достаточно прав для исполнения операций резервирования/восстановления. Для резервного копирования базы данных и журнала транзакций, т.е. исполнения команд: BACKUP DATABASE или BACKUP LOG, необходимо быть членом фиксированной серверной роли sysadmin или фиксированных ролей базы данных db_owner и db_backupoperator.
Для восстановления базы данных нужно иметь разрешение присущие команде CREATE DATABASE, если в момент восстановления база данных не существует. Если же база данных восстанавливается поверх существующей, Вы должны иметь разрешения для RESTORE, т.е. быть членом фиксированных серверных ролей sysadmin или dbcreator, либо должны быть владельцем этой базы данных (dbo).

3. Если Вам нужно сделать резервную копию журнала транзакций, проверьте что опция 'trunc. log on chkpt' отключена.
Вы не сможете сделать резервную копию журнала транзакций, если включена опция 'trunc. log on chkpt' , потому что в этом случае журнал транзакций будет усечён при выполнении контрольной точки и очистится от завершённых транзакций. В SQL Server 2000 аналогом опции 'trunc. log on chkpt' является модель резервирования - simple.

4. Если в момент выполнения операций резервирования/восстановления, у Вас возникает ошибка 156, перед запуском операторов BACKUP или RESTORE, установите:
- SQL Server compatibility level 70 для SQL Server 7.0
- SQL Server compatibility level 70 или 80 для SQL Server 2000.
Ошибка 156 возникает в случае некорректного синтаксиса T-SQL оператора. Одной из причин возникновения этой ошибки является установка уровня совместимости с SQL Server 6.5 (Database compatibility level 65 ). Для того, чтобы оператороы BACKUP и RESTORE были корректными, нужно для SQL Server 7.0 установить Database compatibility level 70, и Database compatibility level 70 или 80 для SQL Server 2000.

5. Если в процессе восстановлении базы данных или резервного копирования журнала транзакций, произошла ошибка 1511, включите флаг трассировки 3222, чтобы отменить упреждающее чтение, которое используется во время фиксации завершенных транзакций, которые не были сохранены на диске.
Дело в том, что восстановление, т.е. RESTORE можно выполнять в обычном режиме (с регенерацией - recovery), а можно её запретить опцией NORECOVERY. В таком случае, окончательное согласование журнала не происходит и база будет доступна только на чтение. Эту опцию используют, когда восстанавливают полную копию, а следом разностные копии и/или копии журнала. Однако, если в сервере установлен не приспособленный для обслуживания СУБД контроллер дисков, могут возникнуть проблемы при упреждающем чтении (которое обеспечивает кэширование резервной копии), т.е. при регенерации или восстановление может быть нарушен порядок следования виртуальных журналов. Для этого, упреждающее чтение можно отключить специальным флагом трассировки. Для отмены упреждающего чтения Вы можете использовать директиву DBCC TRACEON(3222) на то подключение, в котором пытаетесь выполнить операцию восстановления. Это известный баг SQL Server 7.0, в SQL Server 2000 нет таких проблем.

6. Если во время выполнения операции резервного копирования, произошла ошибка 3023, выполните резервное копирование после окончания операции, с которой оно конфликтует.
Ошибка 3023 показывает, что операция резервного копирования не может быть выполнена во время создания, удаления и сжатие файлов базы данных. Таким образом, получив эту ошибку, Вы должны перезапустить операцию резервного копирования после окончания процесса, с которым она конфликтует.

7. Если при выполнении резервного копирования возникает ошибка 3036, используйте копии с основного сервера пока эта база имеет статус standby.
Ошибка 3036 показывает, что база данных находится в состоянии горячего резерва (устанавливается выполнением оператора RESTORE WITH STANDBY) и для нее невозможно создать резервную копию пока последовательность копий не будет полностью загружена.

8. Когда при восстановлении возникает ошибка 3143, используйте оператор RESTORE HEADERONLY, чтобы получить описание резервного архива.
Ошибка 3143 показывает, что восстанавливаемая копия была сохранена в правильном формате, но это копия была сделана не SQL Server, а с помощью другого программного продукта. В этом случае с помощью RESTORE HEADERONLY можно просмотреть описание резервной копии.

9. Если во время выполнения операции восстановления возникает ошибка 3154, перезапишите существующую базу данных используя команду RESTORE DATABASE с опцией WITH REPLACE или выполните восстановление в базу данных с другим именем.
Ошибка 3154 возникает, когда Вы пытаетесь восстановить базу поверх существующей, но существующая база данных была создана оператором CREATE DATABASE с другим набором инструкций, чем при создании базы данных, восстанавливаемой из резервной копии.

10. Если во время резервного копирования произошла ошибка 3206 или 3209, создайте устройство резервного копирования с помощью хранимой процедуры sp_addumpdevice или обратитесь непосредственно к физическому устройству, определенному в операторе BACKUP, как TAPE = или DISK =.
Эти ошибки возникают в случае если Вы пытаетесь использовать логическое устройство, которое не является устройством резервного копирования.

11. Если у Вас в процессе восстановления возникает ошибка 3249, замените текущее устройство резервирования на то, которое содержит начало набора резервных копий.
Ошибка 3249 показывает, что набор резервных копий находится на разных устройствах и для того, чтобы можно было запустить восстановление данных, необходимо загрузить устройство, на котором находится начальная копия для восстановления.

12. Если в процессе восстановления Вы получаете ошибку 3256, восстановите разностную копию базы данных и выполните фиксацию транзакций.
Эта ошибка показывает, что набор резервных копий не полный, т.к. операция по созданию резервных копий была завершена с ошибкой.

13. Если в процессе восстановления большой базы данных в Windows 98 происходит ошибка 3257, попытайтесь создать базу такого же размера, как у резервируемой, а затем восстановите по ней резервную копию исходной базы данных, или включать перед восстановлением флаг трассировки 3104.
Эта ошибка возникает когда размер файла восстанавливаемой базы данных более 2Гб и база данных восстанавливается поверх существующей, размер которой меньше 2Гб. Эта ошибка показывает, что SQL Server не может правильно контролировать свободное пространство. Чтобы обойти контроль свободного пространства, можно использовать DBCC TRACEON(3104) на каждое подключение, в котором необходимо осуществить операцию восстановления.

14. Если в процессе резервного копирования или восстановления возникает ошибка 3267 или 3627, попытайтесь выполнить эти действия позже, когда нагрузка на сервере станет меньше.
Эта ошибка возникает когда сервер занят и не может выполнить копирование/восстановление базы данных.

15. Выполняйте полное резервное копирование базы данных перед тем как копировать журнал транзакций. В противном случае, Вы можете в процессе восстановления получить ошибку 4214.
Ошибка 4214 показывает, что данная копия базы не является текущей. Для восстановления базы данных после сбоя необходимо наличие полной резервной копии или полный набор всех копий файлов.

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

[В начало]

Навигация по времени в OLAP: недели и месяцы

Автор: Александр ДЕНИСЕНКО aden@online.ru, aledin@academy.ru

Одна из проблем навигации по координате времени во многомерных кубах заключается в несовместимости недельного и месячного календарей. С одной стороны, вышележащим в иерархии объектом для суток бывает месяц (выше - квартал и/или год), а бывает - что неделя. Неделя не сворачивается в месяц - её начало может оказаться в одном месяце, а окончание - в другом. Системы типа [1] допускают работу с такими объектами, но довольно сложными приёмами. Традиционное представление об иерархии не допускает такого: представьте файл, разорванный между двумя папками. Или матрешку, голова которой находится в одной материнской игрушке, а низ - в другой. К сожалению, использование нескольких иерархий по одной координате имеет некоторые проблемы в реализации - так, например, в [1] не удается использовать одну координатную таблицу для двух разных иерархий времени - понедельной и помесячной.
На практике есть и ещё одна техническая неприятность: разная нумерация дней недели в разных культурах. В Западной неделя начинается с воскресенья, в нашей - с понедельника. Это приводит к некорректной работе многих стандартных функций работы с датами (одна и та же неделя имееет разные порядковые номера с разных точек зрения). В [1] имеется специальная операция установки первого дня недели, но она имеет ограниченное действие (в пределах сеанса соединенния клиента с сервером). В части [1], касающейся многомерного анализа, такую операцию вообще не удалось обнаружить. Это еще один аргумент в пользу наличия собственных встроенных календарей.
Анализ продаж как правило требует обоих иерархий, причем в двух вариантах: включая или исключая осколки "разорванных" недель месяца.
Например, в июле 2003 года пять недель - первая неделя июля начинается со вторника, пятая заканчивается четвергом. Проблема в том, что понедельник первой недели и посление три дня пятой недели требуется включать в обобщенные показатели или не включать - по желанию наблюдателя.
Был предложен следующий вариант решения. Создаем две координаты времени как стандартные иерархии, одну - с уровнями "день", "месяц", "год"; другую - с уровнями "День" и "неделя". Недели занумерованы "От Адама", то есть как и годы (от Сотворения Мира, Рождества или начальной даты Микрософта, Хиждры и т.д. - как правило хватает периода существования фирмы). Для удобства наблюдателя недели поименованы граничными датами.
Далее - дублируем поле даты в фактовой таблице. Первое поле - Дата1 - ссылается на помесячный календарь, а второе поле - Дата2 - на недельный. В навигаторе появляются две разные координаты. С математической точки зрения мы погружаем наш куб в пространство размерности на единицу больше начального. Дополнительная координата совпадает с начальной координатой даты. Можно представить себе, что наш кубик "расплющен" по диагонали, образованной двумя координатами (Дата1=Дата2 по построению).
В итоге наблюдатель волен захватывать или исключать из обобщенных показателей осколки пограничных недель - то есть в нашем примере - 30 июня (понедельник, первый день первой "июльской" недели и 1,2,3 августа - хвост пятой "июльской" недели). Для исключения обрывков достаточно по недельной координате выбрать требуемые недели, а по месячной указать "июль".
Для захвата голов и хвостов достаточно в помесячной координате снять все ограничения (указать имя всей координаты вроде 'ALL').

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

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

Три основных недостатка современных хранилищ данных
Вон Ким
В последние несколько лет многие предприятия создают хранилища (и киоски) данных, чтобы выполнять над ними приложения. Используемые технологии хранилищ данных опираются, прежде всего, на средства ETL (extract-transform-load - <<извлечение-преобразование-загрузка>>), моделирование и проектирование баз данных, а также на системы реляционных баз данных. Сегодняшним хранилищам данных присущи три основных недостатка. Это неудовлетворительная обработка <<грязных>> данных, неудовлетворительные производительность и масштабируемость при выполнении операций, основанных на сканировании, а также неудовлетворительный выбор источников данных для загрузки в хранилище данных. В статье анализируются эти три проблемные области и приводятся основные черты подходов к решению проблем...
Интегрированная аналитика. Как извлечь максимальную выгоду из ERP-систем
N/A
В этой статье рассматривается развитие ERP-систем, роль Хранилищ данных в информационной ERP-архитектуре, а также перспективы создания интегрированных сред, использующих возможности этих двух технологий. Кроме того, дается оценка достижений двух крупнейших фирм (SAP и People Soft), производителей ERP-систем в области разработки Хранилищ данных и аналитических приложений...

[В начало]

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

"Connection Could Not Be Established" Error Message When You Use Named Pipes to Connect to a Windows NT 4.0-Based Computer That Is Running Either SQL Server 2000 or SQL Server 7.0
BUG: Starting the SQL Server Agent is Unsuccessful on a Backup Domain Controller
FIX: Distribution Agent Fails with "Violation of Primary Key Constraint" Error Message
FIX: Infinite Recompile Occurs on Indexes That Have More Than 2,147,483,647 Rows
FIX: MSXML 2.6 Is Not Redistributed with SQL Server MSDE SP3 or SP3a
FIX: Slow Execution of a Query that Contains a Correlated Subquery
INF: Clustered SQL Server Do's, Don'ts, and Basic Warnings
INF: How the IDENTITY Function Behaves When It Is Used in SELECT INTO Queries That Have an ORDER BY Clause and a TOP Operator or a SET ROWCOUNT Statement
INF: Troubleshooting SQL Cluster Wizard Failures
MS03-031: Cumulative Security Patch for SQL Server
MS03-031: Security Patch for SQL Server 2000 64-bit
MS03-031: Security Patch for SQL Server 7.0 Service Pack 4
MS03-031:Security Patch for SQL Server 2000 Service Pack 3
Post a Question to the Microsoft SQL Server Newsgroups
PRB: Access Violation Exception Occurs When Optimized Query Plan Uses Hash Match Team Operator
PRB: Error Message 4062: "Cannot open user default database <ID>. Using master database instead."
PRB: Incorrect Values Display When You Use a Count Function to View a Cube That Has a Virtual Dimension and a Measure
PRB: SQL Server 2000 Installation Fails with "...previous program installation..." Error Message
Support WebCast: Microsoft SQL Server: Delivering Messages with SQL Server 2000 Notification Services
Support WebCast: The DTS Multiphase Data Pump

[В начало]

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

Replacing BCP with SQLBulkLoad
Stefan Popovski
The old good BCP easily goes to the history. XML became worldwide adopted standard for data interchange. So if you are using BCP for import text data files, and you want to use XML import files instead of text files, now is good time for change
Handling SQL Server Errors in Nested Procedures
Ron Talmage
Transact-SQL error handling can become very complex when you have to trap errors in nested stored procedures that use transactions. The complexity arises from restrictions on how stored procedures can use transactions and from the asymmetry between the Transact-SQL COMMIT and ROLLBACK statements.
The SQL Delete Statement
Narayana Raghavendra
We can find a lot of stuff on SQL Select, Insert and etc. There are few articles, discussions, developers R&D on SQL DELETE. Here is an idea about the SQL DELETE statement. If the data is deleted from the tables without using Transactions, there is no way for Developers to retrieve it back, probably DBAs or certain tools may retrieve it back for you. Here is an effort to give a little leverage to Developers in dealing with record deletion. This Stored Procedure accepts DELETE SQL statement and comment for deletion as parameters. Copies the deleting records to another table with the same name but prefixed by Recycle. Along with copying the deleting records, it stores two more information for back reference, i.e. comment for deleting the record, incremental number that uniquely identifies a record or set of records that got deleted in each DELETE SQLs
Finding and Deleting Duplicate Data
Chris Cubley
I have often found that poor database design creates the need for inventive SQL solutions. In fact, the whole concept of "normalizing" databases sprang from eliminating certain "anomalies" when querying the database. When faced with a sub-optimal database design, the ideal solution from a technical standpoint is to redesign the database and correct its flaws. However, redesigning the database often is not an option due to time or budget constraints, pre-existing software, or simple lack of authority to change the design. We must often play the hand we are dealt. In this article, I'll show you how to leverage advanced join techniques to get the most from design-challenged databases
Creating a Chart From a Table
M Ivica
This procedure creates a visual display of your table data. The result is an html file in the c: directory. Example picture is below
What admins need to consider in advance of Yukon
Margie Semilof
DALLAS -- At the TechEd conference earlier this month, IT executives picked up a few details about Microsoft's database strategy. First, the company said it would add reporting services for SQL Server 2000; they will appear sometime later this year. And, second, officials said that Microsoft's next-generation database, code-named Yukon, will ship six months later than originally planned. It's now due out in late 2004, and it's probably going to be a few years beyond that before most IT shops consider installing the software. Nonetheless, Stan Sorenson, director of SQL Server product management, offered a few tips for customers interested in knowing how to prepare for Yukon
Get Ready for Yukon. The next release of SQL Server promises increased developer productivity and reduced DBA workload.
Roger Jennings
For This Solution: SQL Server "Yukon" Beta, Visual Studio .NET "Whidbey" Beta, InfoPath Beta, SQL Server Reporting Services Beta (when available). The next release of Microsoft SQL Server, code-named "Yukon," will reshape the Windows relational database management system (RDBMS) landscape. Yukon promises to incorporate the benefits of native XML and object-oriented databases within a fully programmable relational database framework. A new Reporting Service, support for InfoPath (formerly XDocs) data-entry forms, and Transact-SQL (T-SQL) enhancements round out Yukon's new feature set. David Campbell, Microsoft's product unit manager for the SQL Server engine, gave .NET developers a Yukon preview at VSLive! San Francisco this past February. In this article, I'll analyze Campbell's "Database of the Future: A Preview of Yukon and Other Technical Advancements" keynote address from an IT management and SQL Server DBA perspective. Additional details for some new Yukon features come from transcripts of earlier SQL Server chat sessions

[В начало]

ФОРУМ SQL.RU

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

Междумордие
64-разрядный SQL Server: первые официальные бенчмарки
FILL FACTOR оптимальное значение
Linked Servers - ODBC - dBase V - невидит содержимое таблиц
Как бы по-лучше использовать хинты в запросах
Как правильно написать условие следующего вида:?
Издевательство над пожилым человеком посредством паролей
Выбор сервера
А кто нибудь знает какой-нибудь буржуйский продукт, аналог 1C?
Открыть файл в хранимой процедуре
Оптимизация ХП
IDENTITY мешает insert ! Как побороть?
сжатый бекап базы
Упорядочение при обновлении записей
exec sp_tables
openrowset() все таки
Сравнение полей записей двух таблиц одинковых по структуре
резервное копирование
Не получается освобождать библиотеки с extended stored procedures
backup/restore базы 1С
Медленно грузятся большие recordset-ы
Интерсно знать
подключение к базе данных
Update значения на то же самое значение,как эффективнее определить?
Вложенные транзакции
JOIN на VIEW даёт резкое замедление
Поставил msde2000 под 98 и....
Ситуация однако... Может кто чего знает ;-)
Указать родителя для разностного бэкапа
Есть DBA из СБРФ?
dbo vs db_owner ?
EXCEL
SOS!!! SOS!!! Excel !!!!
индексы
Счетчик
SqlCommand and StoredProcedures
Подскажите пожалуйста есть ли в SQL Server 2000 функция шифрования
переход от NT к WIN2000, вопрос как быть с SQL
Microsoft SQL Server "Yukon" Beta1 released
Использование NULL
как узнать количество записей попавших в выборку.
Ограничение на вложенность процедур...
Курсор с select_str = stored procedure
Проблемы с русским языком
Кто может подсказать как запустить Debug проц.?
права на выполнение KILL в Enterprise Manager
Ошибки 605 и 823 при создании индексов. Виноват Windows 2000 SP4?
Планирование резервного копирования
Help
Можно ли подключить к MSSQL пользователя из другого ( не trusted) домена?
Помогите с SQL запросом
exec
Шифровка текста триггеров?
Странно однако
А кого какое железо на сервере?
При открытии списка серверов в EM или SM рубит екзешник.
MSSQL -Web
clustered index
Microsoft SQL Server 2000 Русские буквы заменяются знаками вопросов!!!!! HELP
RELAX
Построение очереди блокировок
Novice. Выбор Recovery model. Что такое операции Bulk Copy или SELECT INTO?
Enterprise Manager
нахождение ближайшей суммы
Вложенный курсор

[В начало]

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

xp_sqlagent_proxy_account
Ошибка при сохранении отложенных изменений
Траблы 7-го сиквела или.......
хитрые параметры процедуры
Блокировки
CAL , nyshen srochnii covet !!!!!
Процедура xp_sqltrace ещё поддерживается в MSSQL 2000 ?
Большой журнал транзакций
Как в MSSQL Server 6.5 посмотреть журнал транзакций?
Заказ на изготовление скрипта PHP+Mssql2000
Где можно достать(в каком комплекте) Oracle Gate Way для Microsoft SQL sever?
ошибка в репликации - срочно
Не был произведен вызов CoInitialize!!!!!!!!!!!

[В начало]

#154<<  #155  >>#156
Rambler's Top100 Рейтинг@Mail.ru  Administrator: Обратная связь 
Copyright: SQL.Ru 2000-2013