среда, 5 сентября 2012 г.

TFS Administrators Toolkit

Полезный инструмент для администраторов TFS - TFS Administrators Toolkit (Ссылка).


вторник, 28 августа 2012 г.

пятница, 24 августа 2012 г.

Изменить RECOVERY MODEL для множества баз данных через скрипт

Установка простой модели ("SIMPLE") восстановления на все базы данных SQL-сервера (MS SQL Server 2008/2008R2).

EXEC sp_MSforeachdb 'if ''?'' not in (''master'', ''model'', ''msdb'', ''tempdb'') ALTER DATABASE [?] SET RECOVERY SIMPLE'


четверг, 2 августа 2012 г.

Как связать проект на Project Server с существующим сайтом на SharePoint?

Для этого необходимо зайти на Project Web App (корневой портал Project Server).
Далее, в меню слева выбрать Параметры сервера > в разделе Действующие политики выбрать Сайты проектов. На открывшейся странице необходимо выделить свой проект и в верхнем меню нажать Изменить адрес сайта. В появившемся окне настроек вы можете задать новый адрес сайта для выбранного проекта.

Картинки на рабочий стол







вторник, 31 июля 2012 г.

Проблема с разрастанием базы TFS-коллекции

[статья неокончена]

При запуске тестов (ручных или автоматических) на TFS создаётся много файлов, например:

  • логи IntelliTrace (.ITrace);
  • логи видео;
  • логи результатов тестов (.TRX);
  • Code Coverage (.COV).
Информация в этих файлах очень полезна для анализа ошибок в коде. Но проблемой является то, что эти данные могут быстрыми темпами увеличить размер базы данных коллекции. Администратору TFS необходимо настроить политику ограничения размера и политику хранения прикрепляемых к тесту данных.



Запрос, показывающий размер всех таблиц в базе данных:


CREATE TABLE #t (     
[name] NVARCHAR(128),    
[rows] CHAR(11),    
reserved VARCHAR(18),     
data VARCHAR(18),     
index_size VARCHAR(18),    
unused VARCHAR(18)) 
GO

INSERT #t 
EXEC [sys].[sp_MSforeachtable] 'EXEC sp_spaceused ''?''' 
GO

SELECT 
    name as TableName, 
    Rows, 
    ROUND(CAST(REPLACE(reserved, ' KB', '') as float) / 1024,2) as ReservedMB, 
    ROUND(CAST(REPLACE(data, ' KB', '') as float) / 1024,2) as DataMB, 
    ROUND(CAST(REPLACE(index_size, ' KB', '') as float) / 1024,2) as IndexMB, 
    ROUND(CAST(REPLACE(unused, ' KB', '') as float) / 1024,2) as UnusedMB 
FROM #t 
ORDER BY CAST(REPLACE(reserved, ' KB', '') as float) DESC 
GO

DROP TABLE #t 
GO




Запрос показывающий рост вложений в базе коллекции:


SELECT  
  DATEADD(month,DATEDIFF(month,0,creationdate),0) as [Month], 
  SUM(CompressedLength) / 1024 / 1024 as AttachmentSizeMB 
FROM tbl_Attachment WITH (nolock) 
GROUP BY DATEADD(month,DATEDIFF(month,0,creationdate),0)  
ORDER BY DATEADD(month,DATEDIFF(month,0,creationdate),0)


Запрос, показывающий размер данных в базе коллекции по проектам:

SELECT  
p.projectname AS Project, 
SUM(a.compressedlength)/1024/1024 as Mb from dbo.tbl_Attachment as a inner join tbl_testrun as tr on a.testrunid=tr.testrunid inner join tbl_project as p on p.projectid=tr.projectid
GROUP BY p.projectname
ORDER BY SUM(a.compressedlength) DESC



Запрос, показывающий какие типы вложений занимают наибольшее место в базе коллекции:

SELECT  
a.attachmenttype, 
SUM(a.compressedlength)/1024/1024 as sizeInMB from dbo.tbl_Attachment as a inner join tbl_testrun as tr on a.testrunid=tr.testrunid 
inner join tbl_project as p on p.projectid=tr.projectid
GROUP BY a.attachmenttype
ORDER BY SUM(a.compressedlength) DESC



Запрос, показывающий, файлы каких типов занимают наибольшее место:

SELECT  
SUBSTRING(filename,len(filename)-CHARINDEX('.',REVERSE(filename))+2,999)as Extension, 
SUM(compressedlength)/1024/1024 as Mb from tbl_Attachment
GROUP BY SUBSTRING(filename,len(filename)-CHARINDEX('.',REVERSE(filename))+2,999)
ORDER BY SUM(compressedlength) DESC



Для очистки таблицы базы от результатов тестов рекомендуется использовать Test Attachment Cleaner (ссылка)

Ссылки:

среда, 25 июля 2012 г.

Поиск совпадений в 2-х списках с помощью Excel

Я использовал функцию Match.

Пример: 
=IF(ISERROR(MATCH(B2;A2:A500;0));"-";"YES")

В примере мы проверяем значения на совпадения из диапазона A2:A500 и ячейки B2. Далее записываем значение "YES" в ячейку C2 если совпадение существует. Аналогично проверка выполняется для других ячеек B3, B4, B5, ...



Пример скачать.

понедельник, 23 июля 2012 г.

пятница, 20 июля 2012 г.

Интеграция Outlook с SharePoint

Отличное расширение для интеграции Outlook и Sharepoint - harmon.ie

Возможности:
- позволяет работать с документами, находящимися на сайтах SharePoint, из Outlook;
- удобно встраивать ссылки на документы в почтовые сообщения;
- и многое др.

четверг, 28 июня 2012 г.

PowerShell. Вывод всех учётных записей домена для определённого департамента (OU, Organization Unit)

Пример для департамента "Disabled Accounts" и домена "CompanyDomain":

cls
Import-Module ActiveDirectory


Get-ADUser -Filter "*" -SearchBase "OU=Disabled Accounts,DC=CompanyDomain" | sort Name | FT Name, SamAccountName, UserPrincipalName -A