выполните это для получения размера на таблицу:
/******************************************************************************
** File: “GetTableSpaceUsage.sql”
** Name: Get Table Space Useage for a specific schema
** Auth: Robert C. Cain
** Date: 01/27/2008
**
** Desc: Calls the sp_spaceused proc for each table in a schema and returns
** the Table Name, Number of Rows, and space used for each table.
**
** Called by:
** n/a – As needed
**
** Input Parameters:
** In the code check the value of @schemaname, if you need it for a
** schema other than dbo be sure to change it.
**
** Output Parameters:
** NA
*******************************************************************************/
/*—————————————————————————*/
/* Drop the temp table if it's there from a previous run */
/*—————————————————————————*/
if object_id(N'tempdb..[#TableSizes]') is not null
drop table #TableSizes ;
go
/*—————————————————————————*/
/* Create the temp table */
/*—————————————————————————*/
create table #TableSizes
(
[Table Name] nvarchar(128) /* Name of the table */
, [Number of Rows] char(11) /* Number of rows existing in the table. */
, [Reserved Space] varchar(18) /* Reserved space for table. */
, [Data Space] varchar(18) /* Amount of space used by data in table. */
, [Index Size] varchar(18) /* Amount of space used by indexes in table. */
, [Unused Space] varchar(18) /* Amount of space reserved but not used. */
) ;
go
/*—————————————————————————*/
/* Load the temp table */
/*—————————————————————————*/
declare @schemaname varchar(256) ;
-- Make sure to set next line to the Schema name you want!
set @schemaname = 'dbo' ;
-- Create a cursor to cycle through the names of each table in the schema
declare curSchemaTable cursor
for select sys.schemas.name + '.' + sys.objects.name
from sys.objects
, sys.schemas
where object_id > 100
and sys.schemas.name = @schemaname
/* For a specific table uncomment next line and supply name */
--and sys.objects.name = 'specific-table-name-here'
and type_desc = 'USER_TABLE'
and sys.objects.schema_id = sys.schemas.schema_id ;
open curSchemaTable ;
declare @name varchar(256) ; /* This holds the name of the current table*/
-- Now loop thru the cursor, calling the sp_spaceused for each table
fetch curSchemaTable into @name ;
while ( @@FETCH_STATUS = 0 )
begin
insert into #TableSizes
exec sp_spaceused @objname = @name ;
fetch curSchemaTable into @name ;
end
/* Important to both close and deallocate! */
close curSchemaTable ;
deallocate curSchemaTable ;
/*—————————————————————————*/
/* Feed the results back */
/*—————————————————————————*/
select [Table Name]
, [Number of Rows]
, [Reserved Space]
, [Data Space]
, [Index Size]
, [Unused Space]
from [#TableSizes]
order by [Table Name] ;
/*—————————————————————————*/
/* Remove the temp table */
/*—————————————————————————*/
drop table #TableSizes ;
взятый из блога Robert Caine
Этот код для Microsoft SQL 2005 +
Я также использовал бы xen-инструменты от Steve Kemp для создания domUs. Под debian я использую cfengine для управления конфигурацией. Это может установить и настроить пакеты.
Если Вы просто хотите установить этот одинокий хост, и Вы надеваетеt know how to handle cfengine - dont
t используют его. Но если Вы собираетесь установить больше серверов как это. Я настоятельно рекомендую работать с cfengine или марионеткой.
Его чистая забава, когда Вы можете автоматическое развертывание несколько серверов в день.
Я только сделал это на версии Citrix XenServer, но да, почти что-либо может быть автоматизировано.
Я второй, что сказал парень выше меня, но я хотел бы добавить, что можно сделать жизнь намного Менее ненавистной (TM) при обеспечении хорошего changeconfig пакета в соединение также. Я предпочитаю марионетку, но если Вы более довольны cfengine, bcfg2, независимо от того, что, полная теория все еще применяется. Просто фигура, как сделать основной экземпляр Xen, который устанавливает марионетку и затем сделал, чтобы марионетка высосала вниз полную конфигурацию по Вашему выбору в зависимости от имени хоста.
С другой стороны, Вы могли использовать что-то как Systemimager, чтобы отобразить универсальные экземпляры Xen, получая Вас пакеты программного обеспечения и установить Вас требование.
Можно использовать xen-инструменты для сценариев создания xen экземпляра. Я вполне уверен, можно использовать их для удаления экземпляра также. Необходимо смочь легко настроить инфраструктуру, которой Вы требуете без слишком большой проблемы. Самая большая головная боль, от которой Вы собираетесь страдать, настраивает начальную букву xen шаблоны со всеми пакетами и настроила Вас, требуют. Вы найдете, что это является очень трудоемким для отладки сценариев, имея необходимость постоянно создать новые экземпляры.
Этой цели могут лучше служить облачные инструменты, такие как Эвкалипт или OpenNebula, которые разработаны для запуска временных экземпляров шаблонов виртуальной машины. Они оба могут быть настроены для взаимодействия с Xen.
Это кажется на важный поиск сетевой настройки по запросу виртуальных машин Xen, таким образом, Вы могли бы хотеть посмотреть на Cobbler & Koan, ряд инструментов, разработанных Red Hat для точно этого вида варианта использования. Они поддерживают много различных платформ виртуализации (Xen, qemu, KVM, VMware) и обеспечивают и CLI, веб-интерфейс и много разработок API. Больше информации в Википедии.
Для связывания всех определенных поведений, которые Вы хотите Вы, возможно, должны сделать некоторые дополнительные сценарии, но это должно дать Вам сильную начальную точку.