пятница, 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

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

Назначение домашней страницы для SharePoint-сайта через PowerShell


cls


if(!(Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction:SilentlyContinue))
{
    Add-PSSnapin Microsoft.SharePoint.Powershell
}


# -------------------------------------------------
# Сайт
$site="http://sp-serv"
# Страртовая страница
$homePage="home.aspx"
# -------------------------------------------------


$assignment=Start-SPAssignment
$web=Get-SPWeb -Identity $site -AssignmentCollection $assignment


# Назначение домашней страницы
$rootFolder=$web.RootFolder
$rootFolder.WelcomePage=$homePage
$rootFolder.Update()


Stop-SPAssignment $assignment
$web.Update()
$web.Dispose()


write-host 'Для сайта ' -nonewline 
write-host $site -nonewline -foregroundcolor Blue
write-host ' домашняя страница изменена на ' -nonewline
write-host $homePage -foregroundcolor Blue