Архив

Архив раздела ‘SQL Server’

Узнать версию SQL Server

12 Август 2009 Нет комментариев

Чтобы узнать версию экземпляра Server, достаточно всего лишь выполнить запрос:

select

В результате получим:

Microsoft 2008 (RTM) — 10.0.1600.22 (X64)   Jul  9 2008 14:17:44   Copyright (c) 1988-2008 Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1)

VN:F [1.9.13_1145]
Rating: 10.0/10 (2 votes cast)

Запрос к таблицам в разных базах данных через BDE

12 Август 2009 Нет комментариев

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

Решение проблемы есть. Кидаем на форму или датамодуль два компонента . Выбираем для обоих AliasName, Name и DatabaseName. Пусть будут AliasName1, Name1, DatabaseName1  и AliasName2, Name2, DatabaseName2. Допустим, необходимо сделать запрос к таблице RealTable1 базы данных AliasName1 и таблице RealTable2 базы данных AliasName2, тогда, поместим на эту же форму компонент и назовём QRY1. Обращение к нужным таблицам в свойстве невизуальной компоненты QRY1 нужно будет записать в следующем виде:  «:DatabaseName1:RealTable1″ и «:DatabaseName2:RealTable2″ соответственно. Простейший запрос в QRY1 будет выглядеть как:

SELECT firsttable.field1,secondtable.field2
FROM

":DatabaseName1:RealTable1" firsttable,

":DatabaseName2:RealTable2" secondtable
WHERE firsttable.field3= secondtable.field4

ну или аналогичный запрос через join


SELECT firsttable.field1,secondtable.field2
FROM    ":DatabaseName1:RealTable1" firsttable inner join

":DatabaseName2:RealTable2" secondtable

ON firsttable.field3=secondtable.field4

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

VN:F [1.9.13_1145]
Rating: 9.0/10 (1 vote cast)

Быстрый массовый insert данных.

10 Август 2009 1 комментарий

Одной из часто встречаемых проблем при работе с данными, является скорость вставки большого количества строк в таблицы баз данных. Можно использовать построчную вставку в цикле, но например для достаточно быстро выполнится insert с множественным указанием значений values, например :

insert into tablename(field1,field2) values(val11,val12) ,(val21,val22),(val31,val32),…

Читать далее…

VN:F [1.9.13_1145]
Rating: 10.0/10 (1 vote cast)

Из NAMED INSTANCE сделать default

Сегодня обнаружил, что невозможно из сделать default instance, например, чтобы вместо

Servername\instance_name, подключение шло просто через servername. Необходимо будет переустановить новый Server instance, вернее добавить его при установке  Server. Запускаем установку заново и добавляем новый Instance, который делаем default’ым.  Между собой эти два экземпляра сервера уживутся нормально. А перенести все БД, и прочее можно с помощью стандартных средств импорта/ экспорта.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)

Аналог SQL Server Jobs в MySQL

Администраторы и программисты, имеющие дело с , хорошо знают и нередко пользуются Agent’а. Вот и начиная с версии 5.1 реализовал нечто подобное. Зовётся новая функция просто Event.
Рассмотрим же её более тщательно. Читать далее…

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
Categories: MySQL, SQL Server Tags: , ,

Получение SPID.

@@ — системная переменная типа smallint, в которой хранится текущего процесса юзера.
Скрипт

SELECT @@SPID

вернёт вам SPID текущего юзера.
Посмотреть всю таблицу процессов можно с помощью процедур: sp_who или sp_who2.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
Categories: SQL Server, T-SQL Tags: ,

Устанавливаем SQL на PHP

Задались вопросом как установить и подключить MySQL или на PHP, тогда смотрите подробное руководство по установке SQL на PHP.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
Categories: SQL Server Tags: , , ,

insert into #temp exec sp_helplogins

6 Август 2009 4 comments

Как вернуть во временную таблицу только одну из 2-х выборок хранимой процедуры ?

Ответ:  Да никак… Возмите системную процедуру как образец и сделайте из неё свою, такую как Вам надо, при этом ее тоже можно сделать системной.

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)
Categories: SQL Server, T-SQL Tags:

Изменения перестроения индексов в SQL Server.

Нужно было сегодня перестроить индексы в таблице. Обратился к google.com, чтобы вспомнить как правильно команда пишется. Синтаксис таков:


DBCC  DBREINDEX
(
table_name
[ , index_name [ , fillfactor ] ]
)
[ WITH NO_INFOMSGS ]

Но инетересно не это, интересна вот какая фраза:

Важно!
В будущей версии Microsoft эта возможность будет удалена. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Используйте вместо этого инструкцию ALTER INDEX.

Теперь перестройку индексов нужно проводить следующим образом:


USE AdventureWorks;
GO
ALTER INDEX PK_Employee_EmployeeID ON HumanResources.Employee
REBUILD;
GO
VN:F [1.9.13_1145]
Rating: 9.0/10 (1 vote cast)

Выполнение команд T-SQL на удалённом SQL Server

Начиная с MS 2005, появилась возможность запускать команды на удалённом сервере благодаря новому ключевому слову «AT».

Читать далее…

VN:F [1.9.13_1145]
Rating: 0.0/10 (0 votes cast)