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

СОДЕРЖАНИЕ

1.СТАТЬИ
1.1.Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)
2.ССЫЛКИ НА СТАТЬИ
2.1.Статьи на русском языке
2.2.Англоязычные статьи
3.ФОРУМ SQL.RU
3.1.Самые популярные темы недели
3.2.Вопросы остались без ответа
 


СТАТЬИ

Основы ввода-вывода Microsoft SQL Server. Часть 2 (продолжение)

По материалам статьи Bob Dorr: Microsoft SQL Server I/O Basics. Chapter 2

Использование PAGE_VERIFY

Команда ALTER DATABASE может используется для изменения значения параметра настройки защиты страниц базы данных - PAGE_VERIFY. Для этого параметра допустимы три значения: NONE, CHECKSUM и TORN_PAGE_DETECTION. Проверка страниц задаётся на уровне базы данных. Значение этой настройки сохраняется во время записи на долговременный носитель в каждом заголовке страниц и указывает на тип защиты страницы.
Похожие действия по вычислению контрольных сумм выполняются и для операций по чтению или записи блоков журнала транзакций, если включена защита контрольной суммой. Запись и чтение журнала регистрации транзакций всегда используют бит четности (для защиты от оборванных страниц), с помощью которого можно определить неповреждённые блоки журнала. Расчет контрольных сумм блоков журнала является новой, дополнительной возможностью, и применяется только при включённой опции проверки контрольной суммы для базы данных.
Ниже представлена таблица, в которой собраны те действия, которые осуществляются в SQL Server 2005 для проверки страниц, и могут отличаться в зависимости от задаваемого на уровне базы данных значения PAGE_VERIFY, а также от значений этого параметра, которые хранятся в заголовках страниц. Некоторые из перечисленных в этой таблице действий могут показаться странными, поскольку значения состояния защиты у страницы при чтении отменяет действие текущей установки защиты на уровне базы данных. Однако, при чтении можно проверить страницу только по тем значениям, которые хранятся в заголовке страницы, поскольку установки на уровне базы данных не всегда могут быть выполнимы. Например, невозможно проверить при чтении контрольную сумму, если он не была рассчитана и сохранена во время записи страницы.

Установки заголовка страницы

Действия до записи

Действия после чтения

NONE

Статус проверки страницы для её защиты, устанавливаемый в заголовке страницы, установлен в значение NONE.
Это повышает производительность, но не обеспечивает никакой физической защиты целостности данных, кроме обеспечиваемой непосредственно подсистемой ввода-вывода. Такая установка не рекомендуется и должна использоваться с осторожностью. Особенно важно правильно планировать резервное копирование имеющих такую установку баз данных.

Если страница была сохранена со статусом - без защиты, во время чтения не будут выполняться никаких проверок.

Page Header Status = NONE

Значение PAGE_VERIFY для базы

Проверки для защиты

NONE

Нет

TORN

Нет

CHECKSUM

Нет

CHECKSUM

Формула расчета контрольной суммы применяется к странице данных 8КБ. Значение контрольной суммы в заголовке страницы изменено, и состояние защиты в заголовке страницы установлено на CHECKSUM. После этого страница сохраняется на долговременном носителе.
Защита с помощью контрольной суммы использует больше всего процессорных циклов из имеющихся трех вариантов защиты. Это происходит потому, что для её расчёта используются все биты страницы. Однако, алгоритм был максимально оптимизирован, и его воздействие на производительность минимизировано. Защита контрольной суммой является в SQL Server 2005 установкой базы данных по умолчанию.

При чтении страницы, которая была записана с опцией защиты страницы контрольной суммой или проверкой на оборванные страницы, проверка будет выполняться по тому способу защиты, который был указан в заголовке страницы.

Page Header Status = CHECKSUM

Значение PAGE_VERIFY для базы

Проверки для защиты

NONE

Нет

TORN

CHECKSUM

CHECKSUM

CHECKSUM

TORN

Защита от оборванных страницы проверяет при записи по два бита каждого 512-байтного сектора страницы. В заголовок страницы, кроме метода защиты, вписывается последовательность пар бит для всех секторов страницы, после чего страница сохраняется на долговременном носителе.
Поскольку для TORN-защиты нужно проверять только 2 бита на каждый сектор 8КБ страницы, потребуется меньше циклов процессора, но степень защиты будет гораздо меньше, чем с контрольной суммой.

При чтении страницы, которая была записана с опцией защиты страницы контрольной суммой или проверкой на оборванные страницы, проверка будет выполняться по тому способу защиты, который был указан в заголовке страницы.

Page Header Status = TORN

Значение PAGE_VERIFY для базы

Проверки для защиты

NONE

Нет

TORN

TORN

CHECKSUM

TORN

Обратите внимание, что SQL Server не будет перезаписывать все страницы базы данных, если выполнить ALTER DATABASE с изменением PAGE_VERIFY. Опция PAGE_VERIFY изменится только через какое-то время, и сохранённые на диске страницы будут иметь тот вид защиты, который был им установлен во время записи. Т.о. база данных может иметь страницы с любыми из трех возможных состояний проверки страниц.
Не существует специальной команды, которая бы установила опцию PAGE_VERIFY и применила это ко всем страницам базы данных. Это относится также и к операциям резервного копирования и восстановления.

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

  • Пересоздание кластеризованных индексов в базе данных может привести к тому, что большинство данных окажется на грязных страницах индексов, и это позволит увеличить число страниц с новым состоянием защиты. Однако, кучи, поля типов text/image, хранимые процедуры, хранимые сборки и другие не попадут на грязные страницы при пересоздании кластеризованных индексов.

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

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

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

[В начало]

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

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

Построение индексов - часть 6: Продолжение - Параллельное построение выровненных секционированных индексов
Lyudmila Fokina
В случае параллельного построения индекса, сканирование и сортировка секций осуществляется параллельно и реальное число промежуточных структур сортировки существующих одновременно зависит от числа исполнителей работающих одновременно. Секции выбираются для сканирования и сортировки одна за другой и, когда один исполнитель заканчивает работу с очередной секцией, он выбирает следующую секцию, еще не взятую ни одним исполнителем. Каждый исполнитель, таким образом, строит 0 - N секций (одна секция не может быть распределена между несколькими исполнителями). Почему может быть 0? Если DOP (уровень параллелизма) > числа секций, то не все исполнители получат секцию для работы над ней. Над какой секцией будет работать определенный исполнитель? Это не детерминистическое решение.

Способы индексирования столбцов с низкой селективностью
Merrill Aldrich
Скорее всего, большинство из Вас время от времени сталкивается со следующей ситуацией: в вашей SQL Server системе существует обманчиво простой запрос, который медленно выполняется:

Свойства итераторов
Craig Freedman
В этой статье будет дан краткий обзор трех интересных свойств итераторов, которые влияют на исполнение запроса: использование памяти, отсутствие или наличие блокировок и поддержка динамических курсоров.

Предикаты поиска
Craig Freedman
Перед тем, как SQL Server приступит к поиску по индексу, он должен определить, являются ли ключи индекса подходящими для оценки предиката запроса.

Концептуальное проектирование реляционных баз данных с использованием языка UML
С. Д. Кузнецов
Реляционная модель данных в подавляющем большинстве случаев вполне достаточна для моделирования любых данных. Однако проектирование базы данных в терминах схемы отношений на практике может вызвать большие затруднения, т.к. в этой модели изначально не предусмотрены механизмы описания семантики предметной области. С этим связано появление семантических моделей данных, которые позволяют описать конкретную предметную область гораздо ближе к интуитивному пониманию и, в то же время, достаточно формальным образом.

Русская документация по SQL Server 2005 доступна на MSDN2
Александр Гладченко
Ещё одно событие прошло тихо и незаметно для Русского сообщества специалистов в SQL Server. Недавно, я совершенно случайно наткнулся на "Русский BOL", который мирно сосуществует вместе со своими многоязычными соседями на сайте MSDN2.

Временные таблицы в sql server. Так ли необходимы временные таблицы?
dinesh asanka
Временные таблицы всегда прекрасно помогали разработчикам. Раньше, когда я использовал access, я обычно создавал временные таблицы, которые удалял после решения задачи. При использовании sql server решить задачу можно гораздо проще. Не так ли?

Резервирование данных: руководство THG
thg.ru
Многие пользователи часто не задумываются о том, как важно резервировать данные. В нашей статье мы подробно расскажем о бэкапе на примере встроенной бесплатной утилиты резервирования Windows XP. Также мы покажем, как можно сделать бэкап с восстановлением данных простым и удобным.

Моделирование иерархических объектов
Виноградов С. А.
Многим структурам и объектам свойственна иерархичность. За примерами далеко ходить не надо. Почти все объекты состоят из частей, которые, в свою очередь, могут состоять из более мелких деталей. Общественные структуры, как правило, отражают жесткую иерархическую модель подчинения, сходящуюся к одному подразделению или человеку.

Проектирование баз данных: иерархические структуры. Деревья в SQL
Сергей Тарасов
В статье рассматриваются основные методы реализации хранения иерархических структур (деревьев) в реляционных базах данных и типовые SQL-запросы к ним. Производится оценка преимуществ и недостатков, возможности опимизации.

Словарь метаданных документно-ориентированной информационной системы
Роман Чернышев
Пример проектирования и реализации словаря метаданных документоориентированной системы.

Успешная реализация структуры данных для хранения многоуровневых объектов
Мещеряков С.В.
Объектно-ориентированное программирование (ООП) стало революционным подходом в 1980-е годы [3]. В 1990-х годах применение ООП стало важнейшей областью исследований и разработок применительно к реляционным системам управления базами данных (СУБД) [1,7]. В 1996 г. была выпущена объектно-реляционная СУБД Informix Universal Server. Несмотря на важность и актуальность классической реляционной и объектно-реляционной моделей, тем не менее остается много нерешенных проблем.

Типы соединений в SQL. Шпаргалка
Сергей Тарасов
Лучше один раз увидеть, чем 100 раз услышать. Для чего служат различные виды соединений таблиц в SQL-запросах проще всего запомнить на практике. В примере будем использовать две связанные таблицы: контактные лица и компании. Код приведен для MS SQL Server 2000.

Иерархические структуры, не требующие сопровождения
Ицик Бен-Ган
Немного триггеров, чуть-чуть T-SQL - вот и готова иерархическая структура, которая сама себя поддерживает.

[В начало]

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

Hash Partition as a Design Method
Linchi Shea
SQL Server 2005 does not support hash partition as a product feature. But that doesn't mean you can't apply the concept of hash partition in your application or database design.

Connectivity and SQL Server 2005 Integration Services
Bob Beauchemin
This whitepaper enumerates the connectivity options for databases with SQL Server Integration Services 2005 and mentions special considerations that are required when using some database sources with some of the more complex transformations. SQL Server 2005 Integration Services (SSIS) exists to implement enterprise-level extract, transformation and loading functionality (ETL) for SQL Server and heterogeneous data sources. As part of the SQL Server 2005 product, its main focus is to provide seamless integration between SQL Server-based online transaction processing (OLTP) systems and data warehouses, SQL Server Analysis Services cubes, and Data Mining models. But the name "integration services" along with the rich variety of transformation and analysis functionality and the data flow engine makes it an attractive choice with databases other than SQL Server. This whitepaper seeks to enumerate and clarify the data source choices.

Guaranteeing CLR data alignment at N byte boundaries
Joe Duffy
I was recently asked by a customer how to guarantee alignment of CLR data on 16-byte boundaries. They needed this capability to interoperate with code that uses SSE vector instructions to manipulate the data (which require 16-byte alignment). The bad news is that there's no real good way of doing this. That is, there isn't any "align at N bytes" feature for the CLR in which type layout and stack and heap allocation cooperate. The good news is that you can fake it.

SQL Server 2005 Integration Services - Part 41 - XML Task
Marcin Policht
The importance of XML-based technologies is steadily increasing and this trend is reflected by a variety of new features in this category introduced in SQL Server 2005 Integration Services. One of the most prominent ones is the XML Control Flow task, which provides assistance with processing XML-formatted documents. In this installment of our series, we will describe its properties and functionality. Note that in order to better understand each of the topics presented here, you should familiarize yourself with basic XML-related concepts. You can find their overview on Microsoft XML Development Center Web site (we also have discussed some of them in the context of SQL Server 2000).

Searching Syscomments Accurately
Robert Cary
As a SQL Server DBA you should know that your code is stored in syscomments by default. While most DBAs use version control systems, there are times you might want to look through the code on the server for comparison purposes. Robert Cary brings us an article on how you can do this in 2000 and 2005.

Using Fuzzy Lookup Transformations in SQL Server Integration Services
Michael K. Campbell
This article comes to us from Michael K. Campbell. Michael writes "Humans can instantly spot the difference between "411 Madison Avenue" and "411 Madisan Av". Moreover, because human brains are wired semantically, they can discern that both addresses are likely the same even though the second one has been misspelled. Computers, unfortunately, are typically unaware of these semantic similarities, which can lead to improperly checked data." He then goes on to show how the Fuzzy Lookup Transformation in SQL Server Integration Services (SSIS) can be used to make this exact same match. And he includes the application so you can test it yourself.

Check If Auto Update Statistics Is Enabled With DATABASEPROPERTY
SQL
How do you check if auto update statistics is enabled on your database? It is pretty easy to check that, you can use the DATABASEPROPERTY function

Introduction to message-based applications in SQL Server 2005
Tim Chapman
Tim Chapman discusses the concept of message-based applications, and the new foundation for building these applications included in SQL Server 2005.

Securing SQL Server for Web Applications
Andrew Novick
If your SQL Server is exposed to the Internet, hackers are probing it. Probably right now. This article shows how to secure a SQL Server database that's being used with a Web application. By definition these servers are exposed.

SP2/BPA Frequently Asked Questions
Paul Mestemaker
I have been getting a lot of questions and hearing a lot of speculation about SP2 and BPA. Let me address some of the most common questions.

RDA Subscriptions
Laxmi Narsimha Rao ORUGANTI
Q1. How do I know whether the RDA Pulled table is tracked or not? OR What an RDA Subscribed table means?

Load Testing Reporting Services
John Gallardo
This question came across one of our internal discussion aliases, and it wasn't the first time I had seen it... so I thought it might be interesting to other people as well.

The Dynamic Process of Loading Data
Janet Wong
When loading a data warehouse, handling the ETL process of working with files can be problematic. Longtime DBA Janet Wong brings us an interesting solution that is flexible and efficient for quickly loading a number of files into a warehouse using DTS.

THE DATA STEWARDSHIP APPROACH TO DATA GOVERNANCE. CHAPTER FOUR: ORGANIZATIONALLY, WHERE DOES DATA GOVERNANCE FIT?
Robert S. Seiner
This is the fourth part of an ongoing series. The series is titled The Data Stewardship Approach to Data Governance. For information regarding future chapters, please use my contact information below. Previous articles were titled The Data Won't Govern Itself, Data Governance Is NOT a Methodology and The Tools of Data Governance.

XQuery 1.0, XSLT 2,0 and XPath 2.0 have lift-off :)
Michael Rys
Finally, after working on it for almost 8 years, XQuery 1.0, XSLT 2.0 and XPath 2.0 have finally been released as W3C recommendations. It has been a long and interesting journey for all involved and now we hope that people start to use it and provide us implementers with feedback on where we need to improve either our implementation or the language. Because the Working Group has started on gathering requirements for the next version of XQuery.

SQL Server databases are not supported on compressed volumes
Sanchan Saxena
It is important to understand that SQL Server database on compressed volumes are not supported. This blog will help you understand the differences between SQL 2000 and SQL 2005 w.r.t compressed drives.

SQL Server 2005 Upgrade Technical Resource Guide
Randy Dyess, Dave Fackler, Michael Hotek, Michael Otey, Carl Rabeler, Ron Talmage, and Joe Webb
SQL Server 2005 offers exciting new possibilities and opportunities for SQL Server administrators, developers, and IT decision makers. But to make use of the new features found in SQL Server 2005, companies must first upgrade their existing database environments.

SQL Server and Network Attached Storage (NAS)
Sanchan Saxena
Through this blog, we will address some of the commonly asked customer questions on SQL Server and Network Attached Storage (NAS).

MSDTC and SQL Server on a cluster
Sanchan Saxena
Through this blog, we will try to address commonly asked questions about MSDTC and SQL Server on a cluster. All this information is available in BOL and KB articles, but we will summarize it here for your convenience.

"Unexpected error occurred" during SQL Server 2005 SP1 install
Sergey Pustovit
When you are trying to install SP1 you may see "Unexpected error" message. This error message will appear right after package has been extracted in a temporary folder.

401.1 when trying to access reports from client machines
Evan Basalik
A lot of times, we will see this issue manifest itself where reports run fine from the web server directly, but client machines get three authentication dialog boxes, then fail with a 401.1 error message.

PART I - Data security enhancements in SQL Server 2005
Sergey Pustovit
In this two part series, we will talk about data encryption and its implementation in SQL Server 2005.

Changing the location of Log files for SQL Server Reporting Services
Cary Russell
I have found a few occasions where I have needed to change the location of my Reporting Services Logfiles and wanted to share it with you.

Installing MS06-061 on NT4
Adam Saxton
When installing MS06-061 for MSXML4 SP2, you may receive the following error when trying to run msxml4-KB925672-enu.exe:

Tracking License Information in SQL 2005
Eric Burgess
SQL 2005 no longer tracks licensing (per seat or per processor) via registry entries. SQL 2005 still reads the registry for this information, but the SQL 2005 setup doesn't put licensing information in the registry during setup as in SQL 2000.

We upgraded our servers to Windows 2003 SP1, and now our data-driven application fails with strange errors!
Justin Trobec
After upgrading an application server or database server to Windows 2003 SP1, the application encounters errors originating from data-access components. Typically we'll see this when one server in the application server/database server scenario is updated and the second server is left on a previous version of the OS (particularly Windows 2000 Server).

Extracting the regression formula for a regression tree node
DMTeam
This tip explains how to programmatically construct the regression formula on a node from the node distribution content for a regression tree.

CHECKDB (Part 7): How long will CHECKDB take to run?
Paul Randal
This is a question I see every so often and it cropped up again this morning so I'll use it as the subject for this week's blog post.

Robyn Page's SQL Server Cursor Workbench
Robyn Page
The purpose of this series of workshops is to try to encourage you to take a practical approach to SQL skills. I always find I learn things much quicker by trying things out and experimenting. Please don't just run the samples, but make changes, alter the data, look for my mistakes, try to see if there are different ways of doing things. Please feel free to criticize or disagree with what I say, if you can back this up. This workbench on cursors is not intended to tell you the entire story, as a tutorial might, but the details on BOL should make much more sense after you've tried things out for yourself!

The Effect of NOLOCK on Performance
Wayne Fillis
Using hints in a query is something that most DBAs don't ever seem to bother with, but when they do, NOLOCK seems to be their hint of choice. Wayne Fillis brings us a detailed examination of how this particular hint actually affects the performance of your system.

The Role of the DBA Related to Insider Threats and Regulatory Compliance
Alex Polishchuk and Michael Procopio
We all remember too well the cases of Enron and WorldCom. In light of those cases, the government has created new laws commonly known as the Sarbanes-Oxley (SOX) Act of 2002 to protect investors and insure the accuracy of corporate disclosures. SOX-type regulations are being implemented around the world, including in Information Technology organizations. These regulations revolve around setting up internal controls on many aspects of record keeping and being able to verify those controls as well. Traditionally, the database administrator (DBA) has access to all the corporate data, so that he or she can perform their assigned tasks, such as data import and export, creating reports, and maintaining database performance and stability. Such a wide and deep level of exposure to the data is typically given to DBAs; however, DBAs have limited tools to provide the levels of controls and types of reporting for addressing both internal and external threats that are being expected of them under these new regulations.

Essential Aspects of Database Design
Kimberly L. Tripp
The key to great database performance lies in finding ways to help SQL Server more quickly save or retrieve data and reduce its response time. In my previous article, "Database Design for Performance," (November 2006, InstantDoc ID 93633), I explained how database design affects performance. Building on that foundation, let's look now at three essential areas related to database design: indexing, maintenance, and statistics. All three are interrelated: When you have the right indexes, database maintenance will be effective, and effective database maintenance includes updating statistics, which helps SQL Server better use the indexes when responding to a query.

Which SQL Server behaviors have changed without your realizing it?
Kalen Delaney
In the year since SQL Server 2005's release, the number of technical sites containing SQL Server information has burgeoned. Microsoft's SQL Server development team members host blogs describing little-known details of SQL Server operations and best practices. But even with all this information available, some aspects of SQL Server have changed subtly-changes that you might have missed. You might not realize that what you think you know about SQL Server behavior is actually no longer true. I'll give you the straight story about three such misconceptions.

SQL Server's winning strategy focuses on ease of use, accessibility, and manageability
Michael Otey
Since its introduction, SQL Server has played catch-up with other enterprise-level relational database products. Oracle and IBM's databases were well established when Microsoft and Sybase collaborated on the first edition of SQL Server in 1989.

Sometimes, it's possible to improve on the query optimizer: Here's how
Itzik Ben-Gan
For a while now, I've suspected that the execution plan the SQL Server 2005 query optimizer typically chooses for a common query pattern is suboptimal, but until recently I never bothered to try and prove it. Not long ago, though, I managed to confirm that my suspicions were correct. I'll describe my findings and recommend a course of action to optimize the default suboptimal plan. And in the sidebar "More Fun With Execution Plans," page 37, I discuss another interesting example of optimizer behavior.

More Fun with Execution Plans
Itzik Ben-Gan
If you can't get enough of the types of T-SQL challenges I pose in my articles, you'll find more T-SQL exercises to sharpen your expertise in my Puzzled by T-SQL blog, at http://www.sqlmag.com/blog/index.cfm?action=blogind ex&DepartmentID=1016. Here's a recent post that delves into an execution plan for an aggregate query.

Begin Count and End Count with MDX Effective Recursion
Paul Goldy
Problem: A consulting company tracks their consultant headcount with Hires, Terminations and Transfers. Their consultant "inventory" is derived into [Begin Count] and [End Count]. Nearly all other metrics rely upon the beginning and ending headcounts for such things as FTE utilization, average cost per FTE, etc. A consulting company really has no other capital assets making headcount very important.

Percent Contribution for ALL Hierarchies
Paul Goldy
I ran across an interesting question from the MSDN forum which challenged my MDX ability making it worth sharing. The question posed on the forum was, "The user requirement is ability to get cross tabulations among the dimensions. For example, they may want the proportion of cases in each year at a given location or the proportion of cases in each year by product? In this case, I'd need a generalized contribution precentage formula because I'll never be sure which dimension(s) users may cross-tab."

Getting a SUM() of Members Independent of a Measure
Paul Goldy
A simple, yet common, problem for MDX reports is combining non-measure members which are query specific. The requirement to combine the members is a reporting requirement which means it doesn't belong in the cube. Here's hte problem statement and two solutions.

Passing an array as a paramater to a stored procedure... A.K.A. I love XML
Dave Balzer
I was recently tasked with creating a document repository where the documents get uploaded into a sql server database by way of a management page and pulled and displayed in various places throughout the application. I was asked to make it generic enough to be able to be tied in for other uses in the future. I also need to be able to provide a way to specify some filter data (or metadata) to identify the document and allow searching. The way I implemented this for my scenario is by creating a Document Filter Data table which has four columns, a RecordID, a DocumentID, a FilterKey, and a FilterValue. I then needed to be able to pass an array of these key/value pairs in when inserting the file into the database. In the old days I probably would have looped over the collection or array of values and made a call to the database for each set that needed inserted. Alternatively, I would have passed in some delimited string that would then have to be parsed inside the procedure (yuck). I certainly don't advocate either of these aproaches. So what's a guy to do when he needs to pass an array of values into a stored procedure? ENTER XML! I created a stored procedure that takes an xml string with the key/value pairs specified and does a batch insert by converting that xml string into a table that can be selected from, joined on, or used as any other temporary table would be in a procedure. The magic for this resides in the OPENXML function in Sql Server. You must first run sp_xml_preparedocument and finish with sp_xml_removedocument (which I will show you some examples of later). For the xmlParam I pass in a string that looks like this:

Database Refactoring
Douglas J. Reilly
I am in the process of reading a book on database refactoring - Refactoring Databases - Evolutionary Database Design

Pre and Post Deployment Events
Gert Drapers
The UI provides support for pre and post build events (see the "Build Events" project property page), however some of you have been asking if it is possible to have steps invoked before or after the deployment step. This will show you how to do this.

Using MARS with SQL Native Client
Chris Lee
As stated in my previous post, the majority of new features available through SQL Native Client are accessed by connection or statement properties. MARS is about the simplest new feature to use in SQL Server 2005, and possibly the one we've all been waiting for the longest, so it's a good candidate for your first excursion into the new features available with SQL Native Client.

Getting started with SQL Native Client
Chris Lee
As Acey Bunch explained in April, SQL Native Client meets the needs of developers wanting to take advantage of new features in SQL Server 2005 from ADO, ODBC and OLE DB applications. For those of you who haven't looked at SQL Native Client yet we now need to start the education process of how to use it. The good news is that it's very simple. We have implemented a very small number of new interfaces for OleDb, but most new features are implemented via connection or statement attributes, which you already know how to use.

Introducing SQL Native Client
Acey J. Bunch
By now you may have heard of a new data access technology called "SQL Native Client" that will ship with SQL Server 2005. But before we go much further in discussing it, let's be clear about what we mean by "new". It is new in that this data access library did not exist prior to SQL Server 2005, but rest assured that it is not some radical new design for accessing data!

Native Data Access for SQL Server 2005 FAQ
Chris Lee
In SQL Server 2005 Microsoft decided to change the way it supports ODBC and OLE DB with the introduction of Microsoft SQL Server Native Client (SQL Native Client), a new component of SQL Server 2005. This FAQ answers some basic questions about SQL Native Client and about ODBC and OLE DB in general.

Halloween Horror: The SQL Timeout
Craig Gemmill
I don't know when it started or why, but I love Halloween (and autumn for that matter). So keeping the tradition of Halloween alive, I've decided to share some "horror" stories from the software/IT field over the next few weeks.

SQL Server Everywhere Gets a New Name
Steve Lasker
You know you've got a successful product when everyone cares about the name. Since we've posted the June CTP, we've received feedback that the name was causing some confusion with some partner products. We care a lot about the partner community and have decided to change the name, again.

Doc storage in SQLce and the 4gb limit
Steve Lasker
We've been getting a number of questions regarding Doc/blob storage and the current 4gb limit. For doc storage, I'm hearing two concerns.

SQL Server Compact Edition under ASP.net and IIS
Steve Lasker
We routinely get requests, complaints, or sometimes even threats, (If you don't enable it, I'll use product X), regarding usage of SQLce and ASP.net. Here's a little background on the positioning.

sysobjects, sys.objects... what about INFORMATION_SCHEMA?
Jon Galloway
SQL Server Management Objects (SMO) is one of the coolest parts of SQL Server 2005, in my opinion. I've written about SMO before, and used it extensively in writing Data Dictionary Creator. In a nutshell, SMO is a collection of objects that are designed for programming all aspects of managing Microsoft SQL Server.

Tip/Trick: How to upload a .SQL file to a Hoster and Execute it to Deploy a SQL Database
Scott
Last month I posted about the new (free) Database Publishing Wizard that is designed to make it much, much easier to upload and deploy SQL Express and SQL Server databases in a web hoster environment.

Idempotent Scripts Required
Gert Drapers
Idempotent, as a former transaction guy I love this word and believe you are not alone if you are not clear on the meaning or impact of this word. Wikipedia is there to help.

Queries on Steroids ... Part III
Danny Lesandrini
This month we discuss Fancy Filtering Techniques for Queries on Steroids. Before we're done, we will have shown you three ways to return a filtered query. If you want to play with the code for this article, download it here.

Building a Distributed Service Broker Application
Santhi Indukuri
Service Broker is one of the more interesting and useful new enhancements in SQL Server 2005, however many DBAs are not familiar with this subsystem. New author Santhi Indukuri brings us a practical example of how you can build a distributed application using Service Broker.

A DMV a day keeps the Doctor away
Glenn Berry
I thought I would start a short series where I put out a Dynamic Management View (DMV) query every day, for 30 days (or until I get tired of it). So here is query #1:

Check for an Empty Table
Umachandar Jayachandran
The winners for the January Reader Challenge, "Converting a Hexadecimal String to a Varbinary Value" will be announced at a later date. Please watch this article page for updates. Here's a recap of the problem and the solution to the January Reader Challenge.

An Edition by Any Other Name
Brian Moran
A few weeks ago, Microsoft announced the SQL Server Compact Edition release to manufacturing (RTM), formally launching the technology that the company is pitching to the mobile and "occasionally connected" workforce. According to Shakespeare, "A rose by any other name would smell as sweet," and SQL Server Compact Edition by any name is Microsoft's play to capture the occasionally connected database market.

Parallelism and MDX Queries
Chris Webb
A lot of my work involves tuning MDX queries, and over the last few months I've come across several situations where calculation-heavy queries take a long time to execute but for the most part only seem to use one CPU on a multi-processor server. When I first saw this I made some enquiries about what was going on and found that this was indeed a feature of the AS calculation engine: only one query can be run per session at any one time, and for that query the work of the formula engine (unlike the storage engine) can't be parallelised. Hohum.

SYSK 275: Pagination in SQL - Easy!
Irena Kennedy
Unfortunately, it's still a common case that the pagination logic resides in UI… Why I say 'unfortunately'? Because by making this design choice, you have:

Workaround for "Unable to set Default Schema for a group"
Igor Kovalenko
Let assume you are using Windows Authentication with SQL Server 2005, you've added a new server account for domain group and would like to give it a default schema. The properties window is the same for users and groups but the default schema field is enabled only for user entities. As a result you cannot add a default schema to a group. So if any member of [domain]\TestGroup will try to create table without explicit schema pointed in a statement (like CREATE TABLE t1 (ID int)), (s)he will always get an error.

Accessing SQL Server data through PowerShell
Allen White
I've been working with Dan, who handles our ADS administration, on extracting data from our employee tables, which are fed from an extract from our HR system, to populate the contact information in ADS from the HR data directly. This allows us to disable accounts in AD when the employees have been terminated and create accounts for new employees automatically. PowerShell is the ideal tool for this task, and Dan figured out how to populate the ADS data from a spreadsheet extracted from the database table containing the required data, but didn't know how to query the database directly. I spent a bit of time polling the web for the "best" way to do this, and here's the script I sent him:

Maximum Capacity Specifications in SQL Server 2005
Steve Jones
SQL Server 2005, the next evolution of SQL Server, should be growing the capacities as well as the capabilities of the product. With some research, Steve Jones brings you the best current information he could find about SQL Server 2005, comared with the SQL Server 7 and 2000 values.

A DMV a Day
Glenn Berry
Top 10 consumers of memory from Buffer Pool

Katmai: More than just the next version of SQL Server
Mary Jo Foley
Microsoft officials have said the next version of SQL Server is code-named "Katmai." (They've said relatively little about the product beyond that, but word is there will be an informational update in the next month or two.)

[В начало]

ФОРУМ SQL.RU

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

Вышел русский SQL Server 2005!!!
Права / Роли
Импорт данных из MS Excel
Импорт курсов валют
"Баковское" округление на T-SQL (как Math.Round в .NET)
Импорт/экспорт таблиц. Перенос данных таблиц с одной БД в другую
Резкое замедление времени выполнения запросов
Запрос: обойтись без подзапроса, можно?
концептуальный вопрос к гурам
Громадная таблица, как быть
Как упорядочить поле IDENTITY
COLUMNS_UPDATED глюк или что???
Как вытаскивать периодически данные из таблицы
Помогите с запросом
SQL Server Кушает память......
хранение архивных данных в другой БД - рационально?
Уменьшение даты на месяц
Восстановление баз данных
SQL Assistant - появился SQL Code Complete для QA, SSMS, VS
Помогите с выборкой

[В начало]

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

Список Job при использовании подписок RS
Оптимизация скорости работы CLR UDF в SQL2005
Помогите выбрать конфигурацию сервера
SQL-DMO + VPN
Linked server для Fox Pro( русский язык)
Еще один способ проверки ИНН
IntegrationServices - заполнение словарика
Integration services 2005 & Excel (Connection bug???)
MSDE + Managment Studio Express
Че за нафиг в MS SQL Server 2005 Notification Services?! %(
кодировка
Линкованная табла в Access
есть ли такие скрипты для 2000 ?
Linked server ORACLE (русский язык)
не запускается sqlcmd
Linked Server на cache
Трабл с Notification Services
Ошибки в пограмме после добавления репликации
The OLE DB provider "MSDASQL" has not been registered.
SQL-DMO. Это "жжж...", неспроста.
Server Error in '/test' Application.

[В начало]

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