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

MS SQL Server

  Все выпуски  

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


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

#210<<  #211

СОДЕРЖАНИЕ

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

СОВЕТЫ

Как найти объект в базе данных SQL Server

По материалам статьи Ashish Kaushal: How to Find a SQL Server Database Object
Перевод Виталия Степаненко

Насколько часто мы - разработчики и администраторы SQL Server - вынуждены перебирать объекты в Enterprise Manager или открывать панель объектов в Query Analyzer, пытаясь найти таблицу или представление и не имея практически никакой информации, кроме почти правильного имени, и единственный путь убедиться, что это именно нужный нам объект - взглянуть на его структуру или текст. Конечно, такие вещи могут происходить не каждый день, но время от времени случаются (возможно, такого не происходит в идеальной ситуации, когда все базы данных хорошо документированы и все имена объектов соответствуют четким соглашениям по наименованию без каких-либо исключений, и более того, когда сотрудники никогда не увольняются).

Более привлекательным способом поиска объекта SQL Server, такого, как таблица, процедура или триггер, является запрос к системной таблице sysobjects в локальной базе данных (конечно, необходимо представлять, в какой базе данных располагается нужный объект).

Например:

Select * From sysobjects Where name like ‘ClientInvoice%’

(Скрипт I)

Выполнение этого запроса отобразит все объекты в текущей базе данных, чьи имена начинаются на "ClientInvoice". Если тип искомого объекта известен, тогда запрос может быть изменен, чтобы вывести только объекты этого типа, и чьи имена начинаются на "ClientInvoice". Такой вариант может вернуть гораздо меньший и более читабельный результирующий набор данных.

Например:

Select * From sysobjects Where xtype = ‘U’ And name like ‘ClientInvoice%’
-- ‘U’ для пользовательской таблицы

(Скрипт II)

Главным недостатком указанных методов является то, что таблица sysobjects относится к определенной базе данных. Если вы не знаете, какая база данных содержит объект, тогда запрос необходимо запускать во всех базах данных, чтобы найти объект.

Существует ли более простой путь написания запроса, который бы производил поиск во всех базах данных за один шаг, отыскивая определенный объекта и / или определенный тип объектов? Ответ - да, это можно сделать при помощи удобной процедуры sp_MSforeachdb.

Например:

Exec sp_MSforeachdb 'Select * From ?..sysobjects where xtype= ''U'' And name like ''ClientInvoice% '''

(Скрипт III)

sp_MSforeachdb - это недокументированная (значит, неподдерживаемая) процедура, доступная и в SQL Server 7, и в SQL Server 2000. Она принимает один строковый параметр, которым в нашем случае является скриптом II, но есть одно важное отличие - если мы внимательно посмотрим на скрипт III, то увидим "From ?..sysobjects" вместо "From sysobjects" в скрипте II.

Почему? Это важно, потому что sp_MSforeachdb использует внутри себя динамический SQL, и "?" - это шаблон имени базы данных, который заменяется на имя каждой базы данных в цикле, т.е. процедура в цикле последовательно вызывает таблицу sysobjects в каждой базе данных. Предположим, что у нас есть n баз данных, и если мы не поставим "?", то sp_MSforeachdb вместо цикла по n базам данных будет производить поиск в таблице sysobjects текущей базы данных (той, в которой мы запускаем запрос) n раз.

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

-- 1 часть
Declare @sqlstr nvarchar(200)

-- 2 часть
/* Удаление временной таблицы, если она существует */
If Object_Id('tempdb..#tblDBObjects') is Not Null
Drop table# tblDBObjects
/* Создание временной таблицы */
Create TABLE #tblDBObjects (
dbName sysname,
objName varchar(200),
objtype char(2)
)

-- 3 часть
/* Присвоение строкового значения переменной */
Select @sqlstr = 'sp_msforeachdb ''Insert tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects'''
/* Выполнение строки SQL */
Exec sp_executesql @sqlstr

-- 4 часть
/* Выборка данных из временной таблицы */
Select * From #tblDBObjects Where name like 'ClientInvoice%'
RETURN

(Скрипт IV)

Объяснение скрипта

1 часть скрипта объявляет переменную типа nvarchar, т.к. строка, выполняемая процедурой sp_executeSQL должна иметь тип nvarchar.

2 часть проверяет, существует ли временная таблица с именем tblDBObjects. Если такая таблица существует, то она удаляется. После этого эта временная таблица #tblDBObjects создается вновь. '#' означает, что таблица должна быть временной, поэтому она создается в базе данных tempdb. Временная таблица автоматически удаляется, как только скрипт успешно завершает свою работу.

3 часть создает строку SQL, которая вставляет значения в таблицу #tblDBObjects из таблицы sysobjects каждой базы данных. Причиной использования этой строки и команды sp_ExecuteSQL является то, что она позволяет нам передать тип объекта в виде входного параметра, если мы захотим написать хранимую процедуру и передать имя объекта и тип объекта в виде входных параметров. Передача типов объектов уменьшит результирующий набор данных и может также ускорить выполнение операции в том случае, если приходится работать с множеством больших баз данных. Это будет рассмотрено в скрипте V.

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

Пример хранимой процедуры, которая может использоваться для поиска объектов

Create PROC FindObject_usp (
objname varchar(200) = Null
, @objtype varchar(20) = Null
)
As
Declare @sqlstr nvarchar(200)
-- Вставляйте специальные символы (wildcards), если не требуется точный поиск.
-- Set @objname = '%' + @objname + '%' -- Лучше определять пользовательские специальные символы (custom wildcards) для входного параметра @objname
/* Удаление временной таблицы, если она существует */
If Object_Id('tempdb..#tblDBObjects') is Not Null
Drop table #tblDBObjects
/* Создание временной таблицы */
Create TABLE #tblDBObjects (
dbName sysname,
objName varchar(200),
objtype char(2)
)
Begin
If @objtype = 'CHECK'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''C'''''''
If @objtype = 'Default'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''D'''''''
If @objtype = 'FOREIGN KEY'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''F'''''''
If @objtype = 'Log'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''L'''''''
If @objtype = 'Scalar function'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''FN'''''''
If @objtype = 'Inlined table-function'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''IF'''''''
If @objtype = 'Stored procedure'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''P'''''''
If @objtype = 'PRIMARY KEY'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''PK'''''''
If @objtype = 'Replication filter stored procedure'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''RF'''''''
If @objtype = 'System table'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''S'''''''
If @objtype = 'Table function'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''TF'''''''
If @objtype = 'Trigger'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''TR'''''''
If @objtype = 'User table'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''U'''''''
If @objtype = 'UNIQUE constraint'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''UQ'''''''
If @objtype = 'View'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''V'''''''
If @objtype = 'Extended stored procedure'
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects where xtype = ''''X'''''''
If (@objtype = '') Or (@objtype is Null)
Select @sqlstr = 'sp_msforeachdb ''Insert #tblDBObjects select ''''?'''' as DBName, name, xtype From ?..sysobjects'''
End
/* Выполнение строки SQL */
If (@sqlstr <> '') Or (@sqlstr is Not Null)
Exec sp_executesql @sqlstr
/* Если параметр @objname не передан, то результат все равно должен быть возвращен */
If (@objname = '') Or (@objname is Null)
Select * From #tblDBObjects
Else
Select * From #tblDBObjects Where objName like @objname
RETURN

(Скрипт V)

Этот скрипт создает хранимую процедуру, которая принимает 2 необязательных параметра - @objname (имя объекта, который надо найти) и @objtype (тип объекта, который надо найти). Типы объектов и их аббревиатуры могут быть найдены в разделе помощи о таблице sysobjects). Хранимая процедура FindObject_usp создает строки SQL различного вида в зависимости от типов данных, т.е., в зависимости от параметра @objtype. Если параметр @objtype не передан, то процедура выбирает все объекты из таблицы sysobjects и вставляет их во временную таблицу #tblDBObjects. Очевидно, что в случае больших баз данных, если тип объекта известен, передача параметра @objtype приводит к гораздо более быстрому выполнению запроса. Когда таблица #tblDBObjects заполнена, из нее выбираются данные при помощи параметра @objname, в том числе с использованием специальных символов.

Мы можем выполнить процедуру FindObject_usp, например, чтобы найти объект типа Check (ограничение), чье имя начинается на 'CK_B':

Exec FindObject_usp 'CK_B%', 'check'

или

Exec FindObject_usp1 'xp_%', Null

Заключение

Я предполагаю, что эта процедура будет использоваться администраторами баз данных при необходимости. Это, конечно, не то, что будет выполняться на серверах баз данных большую часть времени, но если производительность является проблемой, вы можете заменить использование временной таблицы табличной переменной. Как только процедура появится в базе данных dbadmin или другой, где хранятся скрипты администраторов баз данных, вы сможете использовать ее, что скорее всего сделает жизнь администратора намного проще.

[В начало]

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

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

Компонент TTreeView и база данных (часть 2)
Доцу Виктор
Delphi: В последнее время ко мне все чаще стали поступать вопросы по опубликованной ранее мной статье "Компонент TTreeView и база данных". Один из наиболее часто встречающихся вопросов - медленная работа при загрузке большого (более 1000) количества узлов. И действительно, в этом случае загрузка будет происходить достаточно ощутимое для пользователя время...
Секреты Delphi. Мониторинг SQL-запросов при работе с ADO-компонентами
Сергей Бердачук
Delphi: Не секрет, что приложения баз данных составляют довольно большую долю всех вновь разрабатываемых приложений. Ни одна информационная система не может быть создана без соединения с той или иной СУБД. В первых версиях нам предлагался давно устаревший, но все еще успешно использующийся Borland Database Engine (BDE). Одним из альтернативных способов доступа к источникам данных стали компоненты ADO...
Сравнение передачи журналов и репликации
Paul Ibison
MSSQLServer: Многие статьи о репликации и передаче журналов (Log Shipping) сконцентрированы в основном на том, как их настроить и сконфигурировать. В этой же статье описаны различия между ними. Log shipping и репликацию часто сравнивают с кластеризацией, однако кластеризация - это на самом деле технология, созданная чтобы обеспечить отказоустойчивость системы. Здесь имеются некоторые ограничения: расстояние между узлами ограничено и данные системы физически расположены в одном месте, поэтому нет возможности распределить запросы, чтобы например, использовать один из серверов для отчетности...
MSSQL Server 2000 Reporting Services: новый взгляд на системы отчетности предприятий
William Pearson
MSSQLServer: Я стал тестером бета-версии Reporting Services в начале ее разработки, и быстро понял, что этот новый адд-он к MSSQL Server 2000 буквально изменит сегодняшнее лицо систем отчетности предприятий. Помимо того, что Reporting Services обеспечивает интегрированный, полный набор инструментов для создания, управления, и просмотра / передачи отчетов, он выполняет это с помощью масштабируемого движка, который поддерживает серверные хостинг и обработку отчетов. Это лучшая система отчетности предприятия, с несколькими впечатляющими преимуществами перед сегодняшними предложениями на рынке систем отчетности предприятий. Кроме того, потенциальная экономия на предприятиях, внедряющих эту систему, может сравниться с экономией, которая была обещана недавним увлечением - аутсорсингом, о...
MSSQL Server 2000 Reporting Services: Фаза разработки: Обзор. Часть I
William Pearson
MSSQLServer: Цель этой серии статей - облегчить ознакомление с системой при помощи обзоров основного цикла отчетности в этом новом приложении и статей, объясняющих, как добиться выполнения тех целей отчетности, с которыми я имел дело в течении десяти лет, помогая клиентам в их работе с такими приложениями уровня предприятия, как Cognos, MicroStrategy, Business Objects / Crystal, и другими. Я использую ситуации, с которыми я сталкивался в процессе внедрения и работы над различными проектами, а затем покажу, как их можно решить в Reporting Services. Я заявлял в предыдущей статье, что мы сделаем обзор каждой из фаз жизненного цикла отчетности предприятия в нескольких следующих статьях. Обзоры будут играть роль введения к следующим, более детальным статьям, и для подачи основной информ...

[В начало]

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

First Impressions of SQL Server 2005: Installation and Tools
Brian Knight
This is the first part of a series of articles where I take you through my exploration of SQL Server 2005 Beta 2. In this part of the series, I'm going to cover what is SQL Server 2000's strongest asset, its tools. The tools like Enterprise Manager and Profiler give you the quickest way to get to the market with your product. The tools in SQL Server 2005 have begun an evolution to where you will not recognize it as SQL Server. This article provides a high-level overview of my first impressions of the tool suite and the installation. Keep in mind that I'm only touching the surface and that this can cover several articles
SQL Server Alerts
Leo Peysakhovich
SQL Server alerts provide an elegant administrative tool to automatically notify pre-designated operators of server event occurrences. Organizations benefit quickly, as alerts make their DBAs more proactive to conditions requiring their attention
MDX Essentials: Basic Member Functions: The .Item() Function
William Pearson
In this lesson, we will expose another popular function in the MDX toolset, the .Item() function. The general purpose of the .Item() function, as we shall see, is twofold: to return a member from a tuple, or to return a tuple from a set. We will consider each variation, to which I will refer as the "member" and "tuples" versions, respectively, based upon what each returns, in the following sections
Selecting Records across Pages in Datagrid
V.Sriram
It is very common for web applications to provide option for the users to select multiple records and performing some action on the selected records. In ASP.net this is usually accomplished by using a datagrid control with a checkbox column for selecting multiple records. This will work fine expect in situation where the datagrid spans multiple pages. This article addresses this problem and provides a solution for this
Designing and implementing a versatile data access tier for an ASP.NET application
Paul Abarham
In this article, we will drill down deeper in to the design of a n-tier architecture and our focus will be on the data access tier (DAT) (Figure 0).Our goal is to design and implement an appropriate data access tier(DAT) for scalable, reliable and interoperable web application. I have divided this article in to two major parts. In the first part, we will discuss about architectural goals, typed DataSet, EventLogs and HttpModules, which are helpful to understand the second part of this article . We will build in the second part a small(but fine) n-tier application and our focus will be on design and implementation of data access tier. You need a SqlServer (database: Northwind) and VS.net to follow this article
Notification Services
Narasimha Rao Av
Notification services (NS for short) is one of the features included in SQL Server 2005. As name explains, NS is service which sends notifications to the interested entities based on what they would like be notified on. Notification services addition to SQL server has inherent advantages as most of the notifications are based on data changes (or additions) and placing NS with SQL server would make applications scalable and support millions of clientele without hurting performance. To put in simple terms, NS is a service which checks if any event has occurred on a particular data and also check if any entity has subscribed to be notified when that event occurs, and finally send the notification to that entity. It looks as simple as it can be, but the architecture of NS make it so flexible such that the developer community need not take pains of implementing features such as polling events, scheduling, format and delivery of notifications. All these are inbuilt into NS for an easy integration and development
DB Change Management: An Automated Approach - Part 3
Darren Fuller
In part 2 Darren Fuller examined an automated approach to database change management and outlined the essential elements of an automated methodology. In this third article of a 4 part series, he lists the requirements to implement an automated approach and highlights some of the benefits
Managing Transaction Processing for SQL Database Integrity
Ben Forta
In this lesson, Ben Forta explains SQL transactions, how the COMMIT and ROLLBACK statements can be used to explicitly manage when data is written and when it is undone, and the use of savepoints to provide a greater level of control over rollback operations
Common Mistakes in Data Presentation
Stephen Few
I'm going to take you on a short stream-of-consciousness tour through a few of the most common and sometimes downright amusing problems that I see in my work as a data presentation consultant. This article is the second of a five-part series on the fundamentals of effective data presentation. If you produce reports that present data or manage people who do, these articles will offer you practical and clear advice
Fill a DataTable from a DataReader
Francesco Balena
Use the non-public method to quickly fill a DataSet from a DataReader
Microsoft's Platform Strategies for 2004-2005
Peter O'Kelly
The 2005 versions of Visual Studio and SQL Server pave the road to Longhorn. This is the third Trends & Analysis column in a series focused on the past, present, and future of Microsoft's platform strategies. The first column, "Understanding Microsoft's Platform Strategies," established a framework for evaluating Microsoft's product line in terms of platforms, tools, applications, and services. The second, "Microsoft's Platform Strategies Today," described how .NET has matured during the last two years. This one focuses on .NET Framework 2.0, Visual Studio 2005, and SQL Server 2005, three of the most important development projects Microsoft has ever undertaken
Use DataSets as Business Objects
Enrico Sabbadin
Take advantage of OOP and runtime metadata-based techniques to enable DataSets to perform validations. In a service-oriented application based on the application/domain architectural model, lightweight business objects are responsible for encapsulating their data to trigger proper field-level validation and validation of the whole set of data the business object manages (see the sidebar, "Understand Design Patterns"). Unfortunately, .NET's primary candidate for holding your business data-the ADO.NET DataSet-doesn't provide a natural way to encapsulate and protect the data it contains. The DataSet triggers events when data changes, but it delegates validation responsibilities to outer classes, thereby breaking the principles of encapsulation and self-containment. "Naked" DataSets might be acceptable for some simple applications, but larger applications require a better container
Creating Custom Data Extensions for SQL Server 2000 Reporting Services
Rod Paddock
Microsoft's SQL Server Reporting Services was created with extensibility in mind. Learn how to create your own custom data extensions to take advantage of this powerful new tool
Beta testers review Yukon's finer points
Robert Westervelt
Improved business intelligence tools, enhanced memory management components and the ability to easily debug scripts has Don Watters, a senior database administrator with the Walt Disney Internet Group, feeling good about the newest version of SQL Server 2005 database management system (DBMS).
Using PHP with MS SQL Server
Clay Dowling
Now that PHP runs so well on Windows web servers and speaks natively with SQL Server, there's no longer a need to keep PHP and MS SQL Server separate. The benefits of both are available to use. This article provides instructions on how to enable the sybase or mssql modules in your PHP installation and how to use SQL Server with the DB package
Using DMO to Enable and Disable Triggers
Andy Warren
These code samples illustrate how to enable and disable all triggers in a database at one time - a task not easily done otherwise! If you haven't use DMO before, I've posted two articles that you may find informative - Introduction to SQL-DMO and More DMO
Real-Time Manufacturing Database Architecture
Control Engineering
In 1988, I lead a project team that developed one of the first manufacturing information systems to use a relational database. It recorded nylon spool production information for DuPont. The essential architecture was an Allen-Bradley PLC 2/30 talking to a DEC MicroVax cluster. Although we knew what data we needed, the hardware and software did not have the horsepower to log and report the detailed information desired. By 1998, the building blocks for a robust manufacturing information system were available
SQL Server 2000 Security - Part 8 - Introduction to Replication Security
Marcin Policht
So far in our series of articles, we have been discussing relatively generic SQL Server 2000 security related issues that every database administrator is likely to encounter on a daily basis. Now it is time to look into less common scenarios that deal with one specific area of management - database replication. We will start by presenting its architecture and implementation options, and follow with their security implications
Monitoring Disk Space and Sending Alerts with TSQL
Haidong Ji
Monitoring disk space is one important task for SQL Server DBAs. To proactively monitor disk space, we want to be notified when disk space is below certain level. We also want to collect database file size information over time for trend analysis, for which Gregory Larsen has an excellent article "Avoiding the red zone". In addition, I also found it is helpful to collect free disk space data over time, since many SQL Servers are used for other purposes as well. Therefore, analyzing available disk space over time can give us a better idea of disk usage
Security and SQL Server
Tom Rizzo
When companies first started deploying databases, internal security was the biggest concern for IT departments. Databases were locked down in a datacenter with limited access via discrete applications and most IT administrators were only worried about internal users accessing confidential information that they were not supposed to access
New HTTP Endpoints Create SQL Server 2005 Web Services
Peter DeBetta
SQL Server 2000 offers some capabilities for returning XML output via HTTP using SQLXML-and, of course, SQLXML supports Web services creation. Although not rocket science, setting up, configuring, and using Web services in SQL Server 2000 does require a little effort (see the SQLXML documentation about Web services in SQL Server 2000)
Understanding WinFS by Exploring the WinFS Type System
Thomas Rizzo and Sean Grimaldi
This column explores the type system used when programming the WinFS platform. The sample download shows you how to work with the WinFS type system using the WinFS API. (10 printed pages)
Changing XML Schema attached in SQL Server 2005
ExtremeExperts.com
XML has become an first class datatype in SQL Server 2005 . You can check my previous articles for an idea of XML features introduced. In this article we will take a look at how we can alter a XML Schema attached to an Typed XML data. XML's can be caegorized into two categories, typed and un-typed. Any XML that conforms to an XML schema is called as typed. And on the contrary plain XML strings are called as un-typed
Truncate all rows in Database
ExtremeExperts.com
This is yet another fequently asked question in the public newsgroups. Here is a simple script that will allow you to do the same easily. In this script I've used the truncate clause rather than the delete operation because trucate is faster and doesnot get into the logging process that is time comsuming and resource comsuming wrt to hold the data for a possible rollback
Scrollable DataGrid with Sorting
ExtremeExperts.com
This article is continuation to my previous article in msdn India on "Creating Scrollable DataGrid Web Server Control". In that article i have explained about how to create scrollable datagrid with fixed header. After reading this article, one of the frequent question from reader on that article was "how to enable default sorting in this type of datagrid". So in this article, i am going to explain how to enable sorting in scrollable Datagrid with fixed header
Overview of ADO.NET 2.0(Whidbey) New Features
ExtremeExperts.com
In this article, i am going to talk about some of the new features of ADO.NET 2.0. I just started working on ADO.NET 2.0. So this is just an starting, I will keep updating this article as when i find anything interesting in ADO.NET 2.0
Analyzing Data Storage - Ten SHOWCONTIG Queries
Joseph Sack
DBCC SHOWCONTIG allows you to report on fragmentation information for the data and indexes of a specified table

[В начало]

ФОРУМ SQL.RU

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

Tool Вы знаете что твориться на ваших 10-30+ серверах ?
ПОМОГИТЕ девушке установить SQL!!! PLEASE...
Фифо одним запросом
Помогите, пожалуйста, составить запрос
Справочник, отдельные таблицы или текстовые поля для небольших перечислений?
Приведение таблицы строк к единому виду, помогите плиз
Какая винда лучше подходит?
Временные таблици и tempdb
Проблема с падением скорости при Insert'ах
Репликация
Неполучается обойти ошибку Msg 924
Как быть с неизвестной глубиной рекурсии
Большой косяк с репликациями или как я начинаю верить в фазы луны и воздействие злых духов
Запуск job-ов из VB
забодала trusted SQL Server connection
Перестал выполняться запрос
подскажите чайнику по запросу
Проблемы Backup
Ошибка в ХП, подскажите почему
Успокойте.

[В начало]

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

SQL 7.0. Зависает sql mail после установки SR3 на office 2k.
ещё раз про скачивание Reporting Servises
Нужен крякнутый SDAC v3 для D7.
Средства создания строго типизированных классов (ADO.NET + MS SQL)?
Репликация MSSQL2000->ACCESS
BACKUP
репликация между разными collate
Как мне подключиться из 1С к базе на SQL 2000 ...
Кто-ни будь хотя бы тестил Snapshot Backups ?
SQL
Full-Text Search&Index
Ошибка SQL-сервер: 0
Как отключить SSL ?
using iSCSI for SQL Server?

[В начало]

#210<<  #211

Вопросы, предложения, коментарии, замечания, критику и т.п. присылайте Виталию Степаненко на адрес: stvitaly@sql.ru

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

СЕМИНАРЫ
КОНФЕРЕНЦИИ

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



ПУБЛИКАЦИИ
АРХИВ


http://subscribe.ru/
http://subscribe.ru/feedback/
Адрес подписки
Отписаться

В избранное