Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - как посмотреть скрипт создания таблицы с индексами в ms sql

Ответить
Настройки темы
MSFT SQL Server - как посмотреть скрипт создания таблицы с индексами в ms sql

Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый вечер. Извините за возможно глупый вопрос.

Подскажите решение следующей задачи:

как посмотреть скрипт создания таблицы с индексами в ms sql server 2005 express edition

Отправлено: 00:23, 16-03-2013

 

Аватара для Delirium

Ветеран


Сообщения: 5624
Благодарности: 936

Профиль | Отправить PM | Цитировать


На таблице правой кнопкой - создать сценарий - используя Create. Делать, естественно, в SSMS.

-------

Пройденные курсы:
[Microsoft №10174 Sharepoint], [SharePoint]
Мои проекты:[CheckAdmins], [NetSend7], [System Uptime], [Remote RAdmin LogViewer],[Netdom GDI], [Holidays - напоминалка о днях рождения]

А я офис-гуру :)


Отправлено: 10:26, 16-03-2013 | #2



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

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Delirium:
На таблице правой кнопкой - создать сценарий - используя Create. Делать, естественно, в SSMS. »
Выполнив выше приведенные манипуляции получил скрипт на создание таблицы-кучи, а не скрипт создания таблицы с индексами.

Отправлено: 15:23, 16-03-2013 | #3


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


akasha9,
Цитата akasha9:
Выполнив выше приведенные манипуляции получил скрипт на создание таблицы-кучи, а не скрипт создания таблицы с индексами. »
Поясните пожалуйста ответ.
Вы имеете ввиду CREATE INDEX (Transact-SQL) или что то другое?
Adventure Works for SQL Server 2012 (190Мб) -- учебно-тренировочная БД у меня развернется только через полчаса.
Примеры запросов с MSDN используют ее.
Предлагаю так же использовать её, чтобы всем было понятно, о чем идет речь.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)


Отправлено: 16:08, 16-03-2013 | #4


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата lxa85:
akasha9,
Цитата akasha9:
Выполнив выше приведенные манипуляции получил скрипт на создание таблицы-кучи, а не скрипт создания таблицы с индексами. »
Поясните пожалуйста ответ.
Вы имеете ввиду CREATE INDEX (Transact-SQL) или что то другое? »
У меня есть готовая база данных с созданными таблицами мне нужно отскриптовать эти готовые таблицы так чтобы скрипт помимо создания таблицы показывал еще и индексы которые использует данная таблица.

То есть в итоге должно быть что то вроде этого но еще и с указанием используемых индексов:

USE [DBWorks]
GO
/****** Object: Table [dbo].[Table_1] ****** /
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Table_1](
[ID] [int] IDENTITY(1,1) NOT NULL,
[DTM] [datetime] NOT NULL,
[NKA] [smallint] NULL,
[LKA] [smallint] NULL,
[UM] [real] NULL,
[AZ] [real] NULL,
[NMS_PT1] [smallint] NULL,
[NMS_VT1] [smallint] NULL,
[NMS_PT2] [smallint] NULL,
[NMS_VT2] [smallint] NULL,
[UP1] [real] NULL,
[UV1] [real] NULL,
[UP2] [real] NULL,
[UV2] [real] NULL,
[RP1] [float] NULL,
[RV1] [float] NULL,
[RP2] [float] NULL,
[RV2] [float] NULL,
[VP1] [float] NULL,
[VV1] [float] NULL,
[VP2] [float] NULL,
[VV2] [float] NULL,
[NBL] [smallint] NULL
) ON [PRIMARY]

Последний раз редактировалось akasha9, 16-03-2013 в 17:25.


Отправлено: 17:14, 16-03-2013 | #5


Аватара для lxa85

Необычный


Contributor


Сообщения: 4466
Благодарности: 995

Профиль | Сайт | Отправить PM | Цитировать


Изображения
Тип файла: png sqlindex.png
(32.3 Kb, 21 просмотров)

akasha9, На примере вышеупомянутой БД, т.к. для нее есть скрипты создания индекса.
Загрузил 2008R2, установил. На основе примере "Е. Создание индекса представления",
выполнил запрос

Код: Выделить весь код
USE AdventureWorks2008R2;
GO
--Set the options to support indexed views.
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING, ANSI_WARNINGS, CONCAT_NULL_YIELDS_NULL, ARITHABORT,
    QUOTED_IDENTIFIER, ANSI_NULLS ON;
GO
--Create view with schemabinding.
IF OBJECT_ID ('Sales.vOrders', 'view') IS NOT NULL
DROP VIEW Sales.vOrders ;
GO
CREATE VIEW Sales.vOrders
WITH SCHEMABINDING
AS
    SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue,
        OrderDate, ProductID, COUNT_BIG(*) AS COUNT
    FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o
    WHERE od.SalesOrderID = o.SalesOrderID
    GROUP BY OrderDate, ProductID;
GO
--Create an index on the view.
CREATE UNIQUE CLUSTERED INDEX IDX_V1 
    ON Sales.vOrders (OrderDate, ProductID);
GO
--This query can use the indexed view even though the view is 
--not specified in the FROM clause.
SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Rev, 
    OrderDate, ProductID
FROM Sales.SalesOrderDetail AS od
    JOIN Sales.SalesOrderHeader AS o ON od.SalesOrderID=o.SalesOrderID
        AND ProductID BETWEEN 700 and 800
        AND OrderDate >= CONVERT(datetime,'05/01/2002',101)
GROUP BY OrderDate, ProductID
ORDER BY Rev DESC;
GO
--This query can use the above indexed view.
SELECT  OrderDate, SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Rev
FROM Sales.SalesOrderDetail AS od
    JOIN Sales.SalesOrderHeader AS o ON od.SalesOrderID=o.SalesOrderID
        AND DATEPART(mm,OrderDate)= 3
        AND DATEPART(yy,OrderDate) = 2002
GROUP BY OrderDate
ORDER BY OrderDate ASC;
GO

Обратить внимание на
--Create an index on the view.
CREATE UNIQUE CLUSTERED INDEX IDX_V1
ON Sales.vOrders (OrderDate, ProductID);

Смотрим базу, находим вид Sales.vOrders, раскрываем индексы. ПКМ - создать сценарий (см. рисунок)
Получаем
следующий результат

Код: Выделить весь код
USE [AdventureWorks2008R2]
GO

SET ARITHABORT ON
GO

SET CONCAT_NULL_YIELDS_NULL ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_NULLS ON
GO

SET ANSI_PADDING ON
GO

SET ANSI_WARNINGS ON
GO

SET NUMERIC_ROUNDABORT OFF
GO

/****** Object:  Index [IDX_V1]    Script Date: 03/16/2013 18:01:13 ******/
CREATE UNIQUE CLUSTERED INDEX [IDX_V1] ON [Sales].[vOrders] 
(
	[OrderDate] ASC,
	[ProductID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO

Что и требовалось получить.

-------
- Я не разрешаю тебе быть плохой! Потому что плохие люди совершают плохие поступки. А это нехорошо!
(Из наставлений 5 летней девочки своей младшей сестре)

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:52, 16-03-2013 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MSFT SQL Server - как посмотреть скрипт создания таблицы с индексами в ms sql

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - MS SQL Express и MS SQL Standart Negativ Программирование и базы данных 1 25-12-2012 08:12
Тормозит 1С (MS SQL). Как диагностировать? Tonny_Bennet Microsoft Windows NT/2000/2003 17 15-12-2012 16:07
Использование - MS SQL server cal 2005 для доступа к SQL SRV 2008 xaustov Лицензирование продуктов Microsoft 1 20-01-2012 17:55
как посмотреть что делает скрипт? vlasoft Хочу все знать 1 01-10-2011 23:12
Разное - [решено] *SQL* | MS SQL-2005 как узнать зависимые таблицы pva Программирование и базы данных 1 21-09-2009 10:55




 
Переход