Я пытаюсь установить базы данных на новый компьютер с Windows 7 с кодом PowerShell, предназначенным для Windows XP. Мне удалось исправить большинство проблем, поскольку я столкнулся с ними, но я застрял на этой конкретной проблеме в течение нескольких часов.
Я пытаюсь обновить ключи таблицы;
# here we need to update the indexes here
# if we are just seeding, dont bother updating, just write the Checksum property
#
if (!$whatif)
{
if (!$seed)
{
# drop all foreign keys before trying to execute the SQL script
for([int] $i=$table.triggers.count-1; $i -ge 0; $i--)
{
$table.triggers[$i].drop()
}
$table.Alter();
trap { $_ | UTD-Write-Sql-Exception }
$db.ExecuteNonQuery($filedata)
}
Я получаю следующую ошибку.
Source : .Net SqlClient Data Provider
Number : 1776
State : 0
Class : 16
Server : (machine name)
Message : There are no primary or candidate keys in the referenced table 'dbo.PasswordPolicies' that match the referencing column list in the foreign key 'FK_PasswordPolicies_ad_PasswordPolicies'.
Procedure :
LineNumber : 1
Source : .Net SqlClient Data Provider
Number : 1750
State : 0
Class : 16
Server : (machine name)
Message : Could not create constraint. See previous errors.
Procedure :
LineNumber : 1
Exception calling "ExecuteNonQuery" with "1" argument(s): "ExecuteNonQuery failed for Database 'UT_Config
'. "
At C:\Users\(username)\Documents\Install\DatabaseInstallerFunctions.ps1:1885 char:40
+ $db.ExecuteNonQuery <<<< ($filedata)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
Любая помощь или идеи будут оценены.
Сообщение об ошибке указывает на нарушение внешнего ключа. Ваш код сбрасывает триггеры, но оставляет ограничения внешнего ключа