2016-07-13 2 views
0

Я очень новичок в Power Shell.Как переименовать имя экземпляра и имя базы данных в powershell

Я хочу изменить имя базы данных из XYZ в XYZ_Test и изменить имя экземпляра из ./SQLSERVER2014 (локальных)

Я сделал следующий код, но не знает, где я не права.

# update settings in Podium.config 

$configFile = $args[0] 

$doc = new-object System.Xml.XmlDocument 

$doc.Load($configFile) 

$doc.SelectSingleNode('//connectionStrings/add[@name="XYZ"]/@connectionString').'#text' = 'Server=SQLSERVER2014;Initial Catalog=XYZ_Test;Integrated Security=SSPI' 
$doc.Save($configFile) 
+0

Каков исход? –

+0

@ Mathias R. Jessen- Я использую этот файл PS для изменения имени базы данных и экземпляра на Teamcity, но он не работает. Правильно ли код? –

ответ

0
$configFile = $args[0] 
[xml]$doc = Get-Content $configFile 

($doc.connectionStrings.add | ?{$_.name -eq 'XYZ'}).connectionString = 'Server=SQLSERVER2014;Initial Catalog=XYZ_Test;Integrated Security=SSPI' 
($doc.connectionStrings.add | ?{$_.name -eq 'XYZ'}).name = 'local' 

$doc.Save($configFile) 

Этот код работает для меня (PS v5). UPD. Проверено на машине PSv2 - также работает.

+0

Будет ли он переименовать имя экземпляра из «. \ SQLSERVER2014» в «local»? –

+0

Нет. Это заменит все, что было внутри 'connectionString'. Я протестировал следующим образом: '" и "SomeTextThere" был заменен строкой, которую я предоставил "Server = SQLSERVER2014; Initial Catalog = XYZ_Test; Integrated Security = SSPI". – n01d

+0

@ n01d- Я хочу, чтобы он также заменил имя экземпляра ./SQLServer2014 на (local). –

Смежные вопросы