--Создание аудита в SQL Server 2005
USE [master]
GO
/****** Поменяйте пути !!!! ******/
/****** --------------- ******/
CREATE DATABASE [AuditDB] ON PRIMARY
( NAME = N'AuditDB_Data', FILENAME = N'E:\SQLData\AuditDB_Data.MDF' , SIZE = 3000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'AuditDB_Log', FILENAME = N'E:\SQLData\AuditDB_Log.LDF' , SIZE = 3000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
GO
USE [AuditDB]
GO
/****** Object: Table [dbo].[_AuditTable] Script Date: 01/28/2010 18:02:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_AuditTable](
[login_time] [DATETIME] NOT NULL,
[nt_username] [VARCHAR](100) NOT NULL,
[database_name] [VARCHAR](100) NOT NULL,
[program_name] [VARCHAR](100) NULL,
[hostname] [VARCHAR](100) NULL,
[curr_time] [DATETIME] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
USE [msdb]
GO
/****** Object: Job [AuditJob] Script Date: 01/28/2010 20:46:11 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 01/28/2010 20:46:11 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.SP_ADD_CATEGORY @CLASS=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOB @job_name=N'AuditJob',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'No description available.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [Insert] Script Date: 01/28/2010 20:46:12 ******/
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSTEP @job_id=@jobId, @step_name=N'Insert',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'set nocount ON
if (object_id(''tempdb..#who'') is not null)
drop table #who
create table #who (spid int, status varchar(200),login varchar(200), hostname varchar(20),BlkBy varchar(50), dbname varchar(200), command varchar(1000), cpuTime int, diskio int, lastbatch varchar(200), programname varchar(500),spid2 int, ri int)
insert into #who
exec sp_who2
insert into [AuditDB].dbo.[_AuditTable] ([login_time],[nt_username],[database_name],[program_name],[hostname])
select distinct GETDATE(), [login], dbname, programname, hostname from #who
where spid > 50
set nocount OFF',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_UPDATE_JOB @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSCHEDULE @job_id=@jobId, @name=N'Every5min',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=4,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20100101,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSERVER @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
--Создание аудита в SQL Server 2008
USE [master]
GO
/****** Object: Database [AuditDB] Script Date: 01/28/2010 18:38:26 ******/
CREATE DATABASE [AuditDB] ON PRIMARY
( NAME = N'AuditDB_Data', FILENAME = N'E:\SQLData\AuditDB_Data.MDF' , SIZE = 3000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
LOG ON
( NAME = N'AuditDB_Log', FILENAME = N'E:\SQLData\AuditDB_Log.LDF' , SIZE = 3000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 10%)
GO
USE [AuditDB]
GO
/****** Object: Table [dbo].[_AuditTable] Script Date: 01/28/2010 18:02:17 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[_AuditTable](
[login_time] [DATETIME] NOT NULL,
[nt_username] [VARCHAR](100) NOT NULL,
[database_name] [VARCHAR](100) NOT NULL,
[program_name] [VARCHAR](100) NULL,
[hostname] [VARCHAR](100) NULL,
[curr_time] [DATETIME] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
USE [msdb]
GO
/****** Object: Job [AuditJob] Script Date: 01/28/2010 19:36:14 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 01/28/2010 19:36:14 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.SP_ADD_CATEGORY @CLASS=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
END
DECLARE @jobId BINARY(16)
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOB @job_name=N'AuditJob',
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=0,
@notify_level_netsend=0,
@notify_level_page=0,
@delete_level=0,
@description=N'No description available.',
@category_name=N'[Uncategorized (Local)]',
@owner_login_name=N'sa', @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Object: Step [Insert] Script Date: 01/28/2010 19:36:15 ******/
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSTEP @job_id=@jobId, @step_name=N'Insert',
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_success_step_id=0,
@on_fail_action=2,
@on_fail_step_id=0,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N'TSQL',
@command=N'set nocount ON
if (object_id(''tempdb..#who'') is not null)
drop table #who
create table #who (spid int, status varchar(200),login varchar(200), hostname varchar(20),BlkBy varchar(50), dbname varchar(200), command varchar(1000), cpuTime int, diskio int, lastbatch varchar(200), programname varchar(500),spid2 int, ri int)
insert into #who
exec sp_who2
insert into [AuditDB].dbo.[_AuditTable] ([login_time],[nt_username],[database_name],[program_name],[hostname])
select distinct GETDATE(), [login], dbname, programname, hostname from #who
where spid > 50
set nocount OFF',
@database_name=N'master',
@flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_UPDATE_JOB @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSCHEDULE @job_id=@jobId, @name=N'Every5min',
@enabled=1,
@freq_type=4,
@freq_interval=1,
@freq_subday_type=4,
@freq_subday_interval=1,
@freq_relative_interval=0,
@freq_recurrence_factor=0,
@active_start_date=20100101,
@active_end_date=99991231,
@active_start_time=0,
@active_end_time=235959,
@schedule_uid=N'3de1dbd4-df30-49ee-8686-6ddb57764f73'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.SP_ADD_JOBSERVER @job_id = @jobId, @server_name = N'(local)'
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:
GO
среда, 31 марта 2010 г.
пятница, 26 марта 2010 г.
Сколько места занимают таблицы в SQL Server?
Взято отсюда
--Информация о дисковом пространстве, используемом таблицами текущей базы данных.
--Информация о дисковом пространстве, используемом таблицами текущей базы данных.
DECLARE @TableInfo TABLE ( table_name sysname , row_count int, reserved_size nvarchar(50), data_size nvarchar(50), index_size nvarchar(50), unused_size nvarchar(50)) INSERT INTO @TableInfo EXEC sp_MSforeachtable 'sp_spaceused ''?''' SELECT * FROM @TableInfo ORDER BY table_name
четверг, 25 марта 2010 г.
понедельник, 22 марта 2010 г.
четверг, 18 марта 2010 г.
Тем, кто занимается технологиями Oracle и Геоинформационным направлением
Тем, кто занимается технологиями Oracle и Геоинформационным направлением очень интересным будет блог http://oraclegis.com/blog/. Тут можно узнать много о Oracle Spatial.
Подписаться на:
Сообщения (Atom)