Отмечено: SQL Server 2005 Показать/спрятать ветки комментариев | Горячие клавиши

  • exebit 4:06 pm on 21.05.2010 Постоянная ссылка | Ответить
    Метки: SQL Server 2005,   

    Не ставятся патчи Microsoft SQL Server 2005 после смены SID 

    Это продолжение истории со сменой SID’ов. SQL Server использует локальные группы для управленя доступом. Указатели на группы включают идентификатор безопасности (Security IDentifier) группы, который меняется утилитой NEWSid, вследствие чего при установке обновлений мы видим в логах (например C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\OLAP9_Hotfix_KB970896_sqlrun_as.msp.log.
    ) ошибку:

    No mapping between account names and security IDs was done

    Для устранения проблемы необходимо привести в соответствие указатели пользовтлей  сиды локальных групп. Определяем SID групп спомощью утилиты psGetSid и записваем результат в ветках

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\Setup]

    для ключей FTSGroup, SQLGroup, AGTGroup, ASGroup. Соответствие приведено ниже:

    SQLServer2005MSFTEUser<…> — FTSGroup

    SQLServer2005MSSQLUser<…> — SQLGroup

    SQLServer2005SQLAgentUser<…> — AGTGroup

    SQLServer2005MSOLAPUser<…> — ASGroup

    И, вуаля, патч будет ставиться!

    Кстати, если вы ставите сервис-пак, то достаточно удалить дянные ключи — они будут воссозданы программой установки.

    P.S. Не забудьте также выключить на время восстановление в свойствах службы и системы мониторинга, которые могут автоматически их стартовать

     
  • exebit 7:59 am on 22.03.2010 Постоянная ссылка | Ответить
    Метки: , SQL Server 2005   

    Стандартные задачи по обслуживанию базы на MS SQL 

    Обрезаем лог-файл

    BACKUP LOG <dbname> WITH NO_LOG DBCC shrinkdatabase(N'<dbname>’)

    upd. Для MS SQL 2008 следует использовать следующую конструкцию:
    USE <имя базы >
    GO
    BACKUP LOG <имя базы &gt; TO DISK=’NUL:’
    go
    DBCC SHRINKFILE (N'<Логическое имя логфайла базы >’ , 1)
    GO

    Реиндексация базы данных

    CREATE PROCEDURE [dbo].[sp_ReindexDatabase] AS
    BEGIN
    SET NOCOUNT ON
    DECLARE @ID int
    INSERT INTO _Reindexes(StartTime, HostName, UserName) VALUES(GETDATE(), HOST_NAME(), USER_NAME())
    SET @ID = SCOPE_IDENTITY()
    DECLARE reindex_cursor CURSOR
    FOR SELECT name FROM sysobjects WHERE type = ‘U’
    OPEN reindex_cursor
    DECLARE @tablename sysname
    FETCH NEXT FROM reindex_cursor INTO @tablename
    WHILE (@@FETCH_STATUS <> -1)
    BEGIN
    EXECUTE (‘DBCC DBREINDEX (‘ +@tablename + ‘)’)
    FETCH NEXT FROM reindex_cursor INTO @tablename
    END
    CLOSE reindex_cursor
    DEALLOCATE reindex_cursor
    EXEC sp_updatestats @resample=’resample’
    UPDATE _Reindexes SET EndTime=GETDATE() WHERE ReindexID=@ID
    END
    GO

    Резервное копирование базы

    CREATE PROCEDURE sp_AutoBackup AS
    DECLARE @FileName varchar(50), @FilePath varchar(200), @ArhPath varchar(200),  @Date datetime, @CMD varchar(200)
    DECLARE @D int, @M int, @Y int, @H int, @N int
    SET @Date = GETDATE()
    SET @D=DATEPART(dd, @Date)
    SET @M=DATEPART(mm, @Date)
    SET @Y=DATEPART(yy, @Date)
    SET @H=DATEPART(hh, @Date)
    SET @N=DATEPART(mi, @Date)
    SET @FileName=’DB_backup’
    IF @Y<10 SET @FileName=@FileName+’_0’+LTRIM(STR(@Y)) ELSE SET @FileName=@FileName+’_’+LTRIM(STR(@Y))
    IF @M<10 SET @FileName=@FileName+’_0’+LTRIM(STR(@M)) ELSE SET @FileName=@FileName+’_’+LTRIM(STR(@M))
    IF @D<10 SET @FileName=@FileName+’_0’+LTRIM(STR(@D)) ELSE SET @FileName=@FileName+’_’+LTRIM(STR(@D))
    IF @H<10 SET @FileName=@FileName+’_0’+LTRIM(STR(@H)) ELSE SET @FileName=@FileName+’_’+LTRIM(STR(@H))
    IF @N<10 SET @FileName=@FileName+’0’+LTRIM(STR(@N)) ELSE SET @FileName=@FileName+LTRIM(STR(@N))
    SET @FilePath=’C:\’+@FileName+’.bak’
    SET @ArhPath=’U:\backup\’+@FileName+’.rar’
    DECLARE @BAKFile varchar(200)
    BACKUP DATABASE [<db_name>] TO DISK = @FilePath WITH  NOINIT ,  NOUNLOAD ,  NAME = N'<db_name> backup’,  NOSKIP ,  STATS = 10,  NOFORMAT
    SET @Cmd = ‘rar.exe a ‘+@ArhPath+»+@FilePath+’ -p<пароль> -m3  -df -ep’
    PRINT @cmd
    EXEC master..xp_cmdshell @CMD
    GO

     
c
cоздать новую запись
j
следующая запись/комментарий
k
предыдущая запись/комментарий
r
Ответить
e
Изменить
o
показать/скрыть комментарии
t
перейти наверх
l
Go to login
h
Показать/Скрыть помощь
shift + esc
Отмена