В какой ситуации нет возможности подключения с помощью SQL Server Management Studio? Я могу придумать только ситуацию, когда удаленные подключения запрещены, а локально не установлена студия. Но в данном случае должны быть библиотеки, например SMO. Можно попытаться использовать их
Вот пример использования на Powershell:
Cls
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')| out-null
$s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "servername"
#$s.ConnectionContext.set_LoginSecure($FALSE)
#$s.ConnectionContext.set_EncryptConnection($FALSE)
#$s.ConnectionContext.set_Login("login")
#$s.ConnectionContext.set_Password("pass")
foreach ($item in $s.Databases["DBName"].Tables["TableName"].Indexes) #StoredProcedures
{
if (!$item.IsSystemObject)
{
$str = $item.Script()
$str
}
}
Если это невозможно, то интересно было бы услышать причину.
Наверно такое впечатление складывается из-за его массивности. У робота в сабже намного больше сочленений и трансформаций. Ролику не хватает замедленной съемки)
С этими стандартами будет проще увольнять неугодных сотрудников. Случаи, где будут улучшать условия работнику, по моему мнению, минимальны. А на самом деле будет такой же абсурд, как и с цензурой.
Вот пример использования на Powershell:
Cls [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO')| out-null $s = new-object ('Microsoft.SqlServer.Management.Smo.Server') "servername" #$s.ConnectionContext.set_LoginSecure($FALSE) #$s.ConnectionContext.set_EncryptConnection($FALSE) #$s.ConnectionContext.set_Login("login") #$s.ConnectionContext.set_Password("pass") foreach ($item in $s.Databases["DBName"].Tables["TableName"].Indexes) #StoredProcedures { if (!$item.IsSystemObject) { $str = $item.Script() $str } }
Если это невозможно, то интересно было бы услышать причину.