Как перевести базу из состояния Резервный/только для чтения в онлайн
RESTORE LOG [DB name] WITH RECOVERY
RESTORE DATABASE ax_molniya WITH RECOVERY, CONTINUE_AFTER_ERROR
RESTORE LOG [DB name] WITH RECOVERY
RESTORE DATABASE ax_molniya WITH RECOVERY, CONTINUE_AFTER_ERROR
Задача была узнать в какую файловую группу чаше всего происходит запись и чтение данных. Что бы можно было перенести файловые группы на разные хранилки с разными скоростями. И так же размер таблиц
/************************************************************ * * k.moskvichev © * Time: 18.08.2016 13:19:03 ************************************************************/ /************************************************************ * Code formatted by SoftTree SQL Assistant © v7.4.435 * Time: 18.08.2016 13:18:52 ************************************************************/ SELECT @@ServerName AS ServerName ,DB_NAME() AS DBName ,OBJECT_NAME(ddius.object_id) AS TableName ,SUM(ddius.user_seeks + ddius.user_scans + ddius.user_lookups) AS Reads ,SUM(ddius.user_updates) AS Writes ,SUM( ddius.user_seeks + ddius.user_scans + ddius.user_lookups + ddius.user_updates ) AS [Reads&Writes] /* ( SELECT DATEDIFF(s, create_date, GETDATE()) / 86400.0 FROM master.sys.databases WHERE name… Читать далее
Необходимо сжать логи у всех баз на сервере
declare @db nvarchar(10) declare @sql nvarchar(256) declare cursor_size_srv cursor for SELECT --@@SERVERNAME AS Server , name AS DBName --recovery_model_Desc AS RecoveryModel , --Compatibility_level AS CompatiblityLevel , --create_date , --state_desc FROM sys.databases where name not in ('master','msdb','model','tempdb') --and recovery_model_desc = 'full' ORDER BY Name; OPEN cursor_size_srv FETCH NEXT FROM cursor_size_srv INTO @db WHILE (@@FETCH_STATUS=0) BEGIN set @sql = 'USE '+@db+' GO DBCC SHRINKFILE (N'''+@db+'_log'' , 0, TRUNCATEONLY) GO' print (@sql); FETCH NEXT FROM cursor_size_srv INTO @db END CLOSE cursor_size_srv DEALLOCATE cursor_size_srv
Результат скопировать и выполнить в новом запросе
USE rss1 GO DBCC SHRINKFILE… Читать далее
Сначала сделаем 1 таблицу. Эта таблица будет темповая.
GO /****** Object: Table [dbo].[zakupki] Script Date: 05/11/2016 16:18:14 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[zakupki]( [SchedDate] [datetime] NOT NULL, [Type_in_schedule] [varchar](16) NOT NULL, [рассчитано] [int] NULL, [колво строк рассчитано] [int] NULL, [кол-во заявок] [int] NULL, [колво строк] [int] NULL, [заявки с автоутверждением] [int] NULL, [колво строк автоутвержд.] [int] NULL, [не расчитаные строки] AS [колво строк] - [колво строк рассчитано], [не расчитаные заявки] AS [кол-во заявок] - [рассчитано] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO
Создадим вторую таблицу. Эта таблица будет архивная… Читать далее
Первым делом создадим табличку куда будет собираться статистика.
CREATE TABLE kmosk.dbo.reindeks_SALESLINE ( [database_id] VARCHAR(max) ,[object_id] VARCHAR(max) ,[index_id] VARCHAR(max) ,[partition_number] VARCHAR(max) ,[index_type_desc] VARCHAR(max) ,[alloc_unit_type_desc] VARCHAR(max) ,[index_depth] VARCHAR(max) ,[index_level] VARCHAR(max) ,[avg_fragmentation_in_percent] VARCHAR(max) ,[fragment_count] VARCHAR(max) ,[avg_fragment_size_in_pages] VARCHAR(max) ,[page_count] VARCHAR(max) ,[avg_page_space_used_in_percent] VARCHAR(max) ,[record_count] VARCHAR(max) ,[ghost_record_count] VARCHAR(max) ,[version_ghost_record_count] VARCHAR(max) ,[min_record_size_in_bytes] VARCHAR(max) ,[max_record_size_in_bytes] VARCHAR(max) ,[avg_record_size_in_bytes] VARCHAR(max) ,[forwarded_record_count] VARCHAR(max) , vreme datetime NOT NULL DEFAULT GETDATE())
После этого создадим задание которое будет наполнять табличьку
DECLARE @db_id SMALLINT; DECLARE @object_id INT; SET @db_id = DB_ID(N'ax_molniya'); SET @object_id = OBJECT_ID(N'ax_molniya.[dbo].[SALESLINE]'); IF @db_id IS NULL BEGIN; PRINT N'Invalid database'; END; ELSE IF @object_id IS NULL BEGIN; PRINT N'Invalid object'; END;… Читать далее
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
——————————
Монитору активности не удается выполнить запросы к серверу
Монитор активности для этого экземпляра будет приостановлен.
Возобновить его работу можно через контекстное меню панели просмотра.
Выполнить команду lodctr /r
Что бы установить mssql 2005 на сервер 2012 необходимо выполнить следующие действия:
Запустите SQL Server 2005 установку, игнорируя любые предупреждения совместимости
use master go sp_configure 'allow updates',1 go reconfigure with override go sp_resetstatus 'DataBaseName' go sp_configure 'allow updates',0 go reconfigure with override go
Перезапустить службу mssql
ALTER DATABASE ax_molniya SET EMERGENCY
Потом накатить лог.
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER PROCEDURE [dbo].[getSpaceUsedSingleDB] -- имя БД @name nvarchar(24) AS BEGIN SET NOCOUNT ON -- Create a tempory table DECLARE @SpaceUsed TABLE ( name nvarchar(24), db_size nvarchar(13), owner nvarchar(24), dbid smallint, created char(11), status varchar(340), compatibility_level tinyint ) --Populate the table INSERT INTO @SpaceUsed EXEC sp_helpdb --Select the size of the specified table SELECT CONVERT (DECIMAL, REPLACE (db_size, 'MB', '')) AS [size] FROM @SpaceUsed WHERE name = @name END
Выполнить процедуру
exec [dbo].[getSpaceUsedSingleDB] 'имя базы'
SELECT --CONVERT(float( ((dbsize + logsize) * 8192 / 1048576 ) РазмерБазы FROM ( SELECT SUM(CONVERT(real ,CASE WHEN status & 64 = 0 THEN size ELSE 0 END)) dbsize , SUM(CONVERT(REAL ,CASE WHEN status & 64 <> 0 THEN size ELSE 0 END)) logsize FROM dbo.sysfiles ) big
Настройка сенсора в ptrg.
Как выглядит сенсор